A production-grade analytics platform for competitive programming, built with Node.js, Express, and MongoDB.
- Runtime: Node.js
- Framework: Express.js
- Database: MongoDB (Mongoose ODM)
- Security: Helmet, CORS
- Logging: Morgan (Winston coming in Step 2)
src/
├── config/ # Environment config + database connection
│ ├── index.js # Centralized config loader
│ └── database.js # MongoDB connection manager
├── controllers/ # Request handlers (Phase 2+)
├── middleware/ # Express middleware
│ └── errorHandler.js # 404 + global error handler
├── models/ # Mongoose schemas (Phase 2+)
├── repositories/ # Data access layer (Phase 2+)
├── routes/ # API route definitions
│ ├── index.js # Route aggregator
│ └── health.routes.js # Health check endpoint
├── services/ # Business logic (Phase 2+)
├── utils/ # Shared utilities
│ ├── asyncHandler.js # Async error wrapper
│ └── responseHandler.js # Standardized responses
├── app.js # Express app factory
└── server.js # Entry point
- Node.js 18+
- MongoDB (local or Atlas)
npm installCopy .env.example to .env and update the values:
cp .env.example .envnpm run dev| Method | Endpoint | Description |
|---|---|---|
| GET | / |
API info |
| GET | /api/health |
Health check + stats |
ISC