- SOLID Principles:
- S: Single-responsibility Principle ✅
- O: Open-closed Principle
- L: Liskov Substitution Principle ✅
- I: Interface Segregation Principle
- D: Dependency Inversion Principle (with TSyringe) ✅
- Typescript ✅
- ExpressJS ✅
- Swagger Docs UI ✅
- Docker & Docker compose ✅
- Error handler ✅
- CORS with multi origins ✅
- Dotenv ✅
- Date provider with DayJS ✅
- Request validators with Celebrate ✅
- Unit tests with Jest ✅
- Integration tests with Supertest ✅
- Tests Coverage Reports ✅
- Sentry ✅
- Rate Limiter with node-rate-limiter-flexible ✅
- CLI:
- Add module ✅
- Add module/useCase ✅
- Add module/repository ✅
- Add provider
RATE_LIMITER_ENABLED=1
SENTRY_ENABLED=1
SENTRY_DSN=https://your-sentry-dsn-domain