A full-stack web application to track and manage coding contest participation across multiple platforms. Uses API to fetch the contests in real time from Codeforces, Leetcode, CodeChef, AtCoder While maintaining a history of the past contest and the np. of questions done as well.
Last Updated: January 11, 2025
| Feature | Description |
|---|---|
| Platform Support | LeetCode, Codeforces, AtCoder, HackerRank, CodeChef, TopCoder |
| Contest Tracking | Add, edit, delete contests across all supported platforms |
| Progress Tracking | Mark contests as completed with questions solved count |
| Visual Indicators | Color-coded status for upcoming and completed contests |
| Search & Filter | Find contests quickly with real-time search and filtering |
- MongoDB database for reliable storage
- RESTful API for all CRUD operations
- Import/export contest data (JSON)
- Automatic synchronization between frontend and backend
- Track questions solved per contest
- Visual performance graphs & statistics
- Platform-specific performance metrics
- Overall completion tracking
- Responsive for desktop & mobile
- Modern glassmorphism UI design
- Intuitive navigation & UX
- Node.js v16+
- MongoDB (local or Atlas)
- npm or yarn
cd server
npm install
# configure .env
npm run dev
Frontend Setupcd ..
npm install
npm run devAccess frontend at http://localhost:5173 and backend at http://localhost:5000.
GET /api/contests→ All contestsGET /api/contests/upcoming→ Upcoming contestsGET /api/contests/past→ Completed contestsGET /api/contests/:id→ Contest detailsPOST /api/contests→ Add new contestPUT /api/contests/:id→ Update contestPUT /api/contests/:id/mark-done→ Mark as completedDELETE /api/contests/:id→ Delete contest
GET /api/contests/stats/summary→ Performance metrics
GET /api/health→ Server status
{
name: String,
platform: ['LeetCode','Codeforces','AtCoder','HackerRank','CodeChef','TopCoder'],
date: Date,
time: String,
link: String,
done: Boolean,
questionsSolved: Number,
completedDate: Date,
createdAt: Date,
updatedAt: Date
}lua
Copy code
ContestManager/
├── src/
│ ├── components/
│ ├── pages/
│ ├── services/
│ ├── styles/
│ ├── App.jsx
│ └── main.jsx
├── server/
│ ├── config/
│ ├── models/
│ ├── routes/
│ └── server.js
├── package.json
├── vite.config.js
└── README.md- Add, edit, delete contests easily
- Mark contests as complete & track questions solved
- View detailed performance analytics and charts
- Import/export contest data in JSON
npm run dev→ start dev servernpm run build→ production buildnpm run preview→ preview productionnpm run lint→ lint code
npm run dev→ start with nodemonnpm start→ production
- Bind
vite.config.js&server.jsto0.0.0.0for LAN access - Access via
http://YOUR_IP:5173
- Configure env vars, CORS, logging & optimizations
- Multi-user support & authentication
- Notifications & reminders
- Advanced analytics & reporting
- Mobile app integration
- Platform API integration
Commit 1 at 2025-11-04 18:14:47
Commit 2 at 2025-11-04 18:14:47
Commit 1 at 2025-11-04 18:15:18
Commit 2 at 2025-11-04 18:15:19
Commit 3 at 2025-11-04 18:15:19
Commit 4 at 2025-11-04 18:15:19
Commit 5 at 2025-11-04 18:15:19
Commit 6 at 2025-11-04 18:15:19
Commit 7 at 2025-11-04 18:15:19
Commit 8 at 2025-11-04 18:15:19
Commit 9 at 2025-11-04 18:15:19
Commit 10 at 2025-11-04 18:15:19
Commit 11 at 2025-11-04 18:15:20
Commit 12 at 2025-11-04 18:15:20
Commit 13 at 2025-11-04 18:15:20
Commit 14 at 2025-11-04 18:15:20
Commit 15 at 2025-11-04 18:15:20
Commit 16 at 2025-11-04 18:15:20
Commit 17 at 2025-11-04 18:15:20
Commit 18 at 2025-11-04 18:15:20
Commit 19 at 2025-11-04 18:15:20
Commit 20 at 2025-11-04 18:15:21
Commit 21 at 2025-11-04 18:15:21
Commit 22 at 2025-11-04 18:15:21
Commit 23 at 2025-11-04 18:15:21
Commit 24 at 2025-11-04 18:15:21
Commit 25 at 2025-11-04 18:15:21
Commit 26 at 2025-11-04 18:15:21
Commit 27 at 2025-11-04 18:15:21
Commit 28 at 2025-11-04 18:15:21
Commit 29 at 2025-11-04 18:15:21
Commit 30 at 2025-11-04 18:15:22
Commit 31 at 2025-11-04 18:15:22
Commit 32 at 2025-11-04 18:15:22
Commit 33 at 2025-11-04 18:15:22
Commit 34 at 2025-11-04 18:15:22
Commit 35 at 2025-11-04 18:15:22
Commit 36 at 2025-11-04 18:15:22
Commit 37 at 2025-11-04 18:15:22
Commit 38 at 2025-11-04 18:15:22
Commit 39 at 2025-11-04 18:15:23
Commit 40 at 2025-11-04 18:15:23
Commit 1 at 2025-11-06 21:13:45
Commit 2 at 2025-11-06 21:13:46
Commit 3 at 2025-11-06 21:13:46
Commit 4 at 2025-11-06 21:13:46
Commit 5 at 2025-11-06 21:13:46
Commit 6 at 2025-11-06 21:13:46
Commit 7 at 2025-11-06 21:13:46
Commit 8 at 2025-11-06 21:13:46
Commit 9 at 2025-11-06 21:13:46
Commit 10 at 2025-11-06 21:13:47
Commit 11 at 2025-11-06 21:13:47
Commit 12 at 2025-11-06 21:13:47
Commit 13 at 2025-11-06 21:13:47
Commit 14 at 2025-11-06 21:13:47
Commit 15 at 2025-11-06 21:13:47
Commit 16 at 2025-11-06 21:13:47
Commit 17 at 2025-11-06 21:13:47
Commit 18 at 2025-11-06 21:13:47
Commit 19 at 2025-11-06 21:13:48
Commit 20 at 2025-11-06 21:13:48
Commit 21 at 2025-11-06 21:13:48
Commit 22 at 2025-11-06 21:13:48
Commit 23 at 2025-11-06 21:13:48
Commit 24 at 2025-11-06 21:13:48
Commit 25 at 2025-11-06 21:13:48
Commit 26 at 2025-11-06 21:13:48
Commit 27 at 2025-11-06 21:13:48
Commit 28 at 2025-11-06 21:13:49
Commit 29 at 2025-11-06 21:13:49
Commit 30 at 2025-11-06 21:13:49
Commit 31 at 2025-11-06 21:13:49
Commit 32 at 2025-11-06 21:13:49
Commit 33 at 2025-11-06 21:13:49
Commit 34 at 2025-11-06 21:13:49
Commit 35 at 2025-11-06 21:13:49
Commit 36 at 2025-11-06 21:13:49
Commit 37 at 2025-11-06 21:13:49
Commit 38 at 2025-11-06 21:13:50
Commit 39 at 2025-11-06 21:13:50
Commit 40 at 2025-11-06 21:13:50
Commit 41 at 2025-11-06 21:13:50
Commit 1 at 2025-11-08 09:01:40
Commit 2 at 2025-11-08 09:01:40
Commit 3 at 2025-11-08 09:01:40
Commit 4 at 2025-11-08 09:01:40
Commit 5 at 2025-11-08 09:01:40
Commit 6 at 2025-11-08 09:01:40
Commit 7 at 2025-11-08 09:01:40
Commit 8 at 2025-11-08 09:01:41
Commit 9 at 2025-11-08 09:01:41
Commit 10 at 2025-11-08 09:01:41
Commit 11 at 2025-11-08 09:01:41
Commit 12 at 2025-11-08 09:01:41
Commit 13 at 2025-11-08 09:01:41
Commit 14 at 2025-11-08 09:01:41
Commit 15 at 2025-11-08 09:01:41
Commit 16 at 2025-11-08 09:01:41
Commit 17 at 2025-11-08 09:01:41
Commit 18 at 2025-11-08 09:01:42
Commit 19 at 2025-11-08 09:01:42
Commit 20 at 2025-11-08 09:01:42
Commit 21 at 2025-11-08 09:01:42
Commit 22 at 2025-11-08 09:01:42
Commit 23 at 2025-11-08 09:01:42
Commit 24 at 2025-11-08 09:01:42
Commit 1 at 2025-11-09 17:21:31
Commit 2 at 2025-11-09 17:21:31
Commit 3 at 2025-11-09 17:21:31
Commit 4 at 2025-11-09 17:21:31
Commit 5 at 2025-11-09 17:21:32
Commit 6 at 2025-11-09 17:21:32
Commit 7 at 2025-11-09 17:21:32
Commit 8 at 2025-11-09 17:21:32
Commit 9 at 2025-11-09 17:21:32
Commit 10 at 2025-11-09 17:21:32
Commit 11 at 2025-11-09 17:21:32
Commit 12 at 2025-11-09 17:21:32
Commit 13 at 2025-11-09 17:21:32
Commit 14 at 2025-11-09 17:21:33
Commit 1 at 2025-12-15 16:28:30
Commit 2 at 2025-12-15 16:28:30
Commit 3 at 2025-12-15 16:28:30
Commit 4 at 2025-12-15 16:28:30
Commit 5 at 2025-12-15 16:28:30
Commit 6 at 2025-12-15 16:28:30
Commit 7 at 2025-12-15 16:28:30
Commit 8 at 2025-12-15 16:28:31
Commit 9 at 2025-12-15 16:28:31
Commit 10 at 2025-12-15 16:28:31
Commit 11 at 2025-12-15 16:28:31
Commit 12 at 2025-12-15 16:28:31
Commit 13 at 2025-12-15 16:28:31
Commit 14 at 2025-12-15 16:28:31
Commit 15 at 2025-12-15 16:28:31
Commit 16 at 2025-12-15 16:28:32
Commit 17 at 2025-12-15 16:28:32
Commit 18 at 2025-12-15 16:28:32
Commit 19 at 2025-12-15 16:28:32
Commit 20 at 2025-12-15 16:28:32
Commit 21 at 2025-12-15 16:28:32
Commit 22 at 2025-12-15 16:28:32
Commit 23 at 2025-12-15 16:28:32
Commit 24 at 2025-12-15 16:28:33
Commit 25 at 2025-12-15 16:28:33
Commit 26 at 2025-12-15 16:28:33
Commit 27 at 2025-12-15 16:28:33
Commit 28 at 2025-12-15 16:28:33
