- Winston logs
- Console transport
- File transport
- DB transport
- Correlation for distributed tracking
- Logs unhandled rejections and exceptions
- Morgan logs for HTTP tracking
- Implements Morgan
- Writes to file
- Daily log file rotation
- Cache service
- Cache manager
- Redis store
- Cache service
- MongoDB connection
- Implements Mongoose connection
- Listeners for connect and disconnect events
- Logging on development environment
- Provided Docker images
- MongoDB
- Redis
- Node.js
- Request & Response Interceptors
- Measure execution time with Performance API
- Automated logging of events
- Distributed tracing via correlation
- User management
- JWT token strategy
- Authentication guards
- Authorization guards
- Password encryption
- CRUD operations
- Exception management
- Provides standardized response to client
- Provides correlation
- Log inspection
- Filter and read logs
- Retention
- Administrative application management
- Manually clear cache
- Enable / disable cache
- Mail service
- Gmail Nodemailer connection
- Email templates (i.e. activation, system message, password reset)
- Translate service
- Get the translation from file
- Returns default language translation if none found
- Accepts
lang
query param, oraccept-language
header
- Recaptcha service
- Recaptcha authentication
Core API needs following environment variables to function properly.
ENVIRONMENT VARIABLE | Type | EXPLANATION |
---|---|---|
MONGO_URL | String | database URL |
MONGO_DB_NAME | String | database name |
MONGO_PASSWORD | String | database password |
MONGO_USER | String | database user |
APP_NAME | String | application name |
REDIS_HOST | String | Redis host |
REDIS_PORT | Number | Redis port |
ENCRYPTION_KEY | String | Encryption key |
CONTACT_EMAIL | String | Contact email |
RECAPTCHA_KEY | String | Google recaptcha key |
FRONTEND_URL | String | Frontend URL |
NODE_ENV | String | Node.js environment |
PORT | String | Application port |