A robust note-taking application built with modern technologies, featuring full-text search capabilities and efficient data management.
- Node.js: v20.x
- Framework: Express.js
- Database: MySQL with Sequelize ORM
- Cache & Search: Redis with RediSearch module
- Container: Docker & Docker Compose
- ORM: Sequelize
- Volume Mount:
/temp/mysql - Schema Creation: Auto-generated through Sequelize model sync
- Schema Location:
/connectors/db - Optimized Indexes:
- Full-text composite index on
content(WIP) - Full-text composite index on
title(WIP) - Regular index on
user_id
- Full-text composite index on
- Purpose: Fetching All Notes / Caching and Full-text Search (WIP)
- Volume Mount:
/temp/redis - Module: RediSearch for advanced search capabilities
# Required software
- Docker & Docker Compose
- Node.js v20.x
- npm or yarn# Start all services
docker-compose up -d
# Rebuild containers
docker-compose up -d --build# Install dependencies
npm install
# Start development server
npm run dev
# Start production server
npm start/
├── connectors/
│ ├── db/ # Database configurations and schemas
│ └── cache/ # Redis configurations
├── models/ # Sequelize models
├── .env # Configs
├── services/ # Business logic
├── routes/ # API routes
├── repositories/ # Query Layer
├── controller/ # Controller Layer
├── middlewares/ # Custom middlewares
├── utils/ # Utility Functions goes here
│ ├── logger/ # Logger Implementation
├── Dockerfile # Docker File for Application
├── swagger.yaml # Swagger File
└── docker-compose.yml # Docker configuration
- MySQL indexes for faster queries
- Redis caching layer
- Full-text search optimization
- Connection pooling
- Efficient data synchronization
- User authentication required for all operations
- User-scoped data access
- Input sanitization (TODO)
- Secure environment configuration (TODO)
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
📝 Created using a README Template
© 2024 All Rights Reserved