All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Configuration Management: Centralized configuration with environment variable support
- Structured Logging: Production-ready JSON logging with levels and context
- Input Validation: Comprehensive request validation with sanitization
- Custom Error Classes: Standardized error handling with proper HTTP status codes
- Security Middleware: Helmet-like security headers (XSS, clickjacking protection)
- CORS Middleware: Configurable Cross-Origin Resource Sharing
- Request Logging: Request ID tracking and response timing
- Health Check Endpoints:
/health,/health/ready,/health/live,/health/detailed - Graceful Shutdown: Proper signal handling for SIGTERM/SIGINT
- Clean Router: Express-like routing with parameter extraction
- PATCH Endpoint: Partial update support for products
- Pagination: Query-based pagination with metadata
- Search & Sort: Filter products by search term and sort by fields
- Timestamps:
createdAtandupdatedAtfields on all products - Test Suite: Comprehensive tests using Node.js built-in test runner
- Refactored project structure for better maintainability
- Improved error responses with consistent format
- Enhanced rate limiter with configurable options
- Updated model layer with proper error handling
- Added protection against large payloads (DoS)
- Input sanitization to prevent XSS
- Security headers (X-Frame-Options, CSP, etc.)
- Request validation before processing
- Basic CRUD operations for products
- Rate limiting middleware
- File-based JSON storage