Track Codeforces contest history, problem-solving stats, and student activity — all in one dark-themed dashboard.
Built with the MERN stack, supports email reminders for inactive students, and runs both traditionally or via Docker.
- Node.js >= 16
- MongoDB (local or Mongo Atlas)
- Gmail (App Password enabled for email)
- Docker (optional, for containerized setup)
git clone https://github.com/yourusername/codeforces-dashboard.git
cd codeforces-dashboardcd backend
cp .env.example .env # Edit MongoDB URI and Gmail credentials
npm install
npm run dev
⚠️ Ensure MongoDB is running and accessible at the URI in.env.
cd frontend
npm install
npm run devVisit: http://localhost:5173
This will run both backend and frontend on a shared Docker network.
At the root of the project:
docker-compose up --build- Frontend → http://localhost:5173
- Backend → http://localhost:3000/api
- Backend will send reminders at the configured cron time (
AppSettingstored in DB) - Make sure
.envin backend contains Gmail App Password and Mongo URI
PORT=3000
MONGODB_URI=mongodb://mongo:27017/codeforces
EMAIL_USER=your-email@gmail.com
EMAIL_PASS=your-gmail-app-passworddocker-compose down- 📊 Track student Codeforces performance (ratings, heatmaps, etc.)
- 📥 Add/edit/delete student profiles
- 📧 Automatically email inactive students
- 🌙 Dark mode by default
- 📅 Fully configurable from
/settingspage (inactivity days, email toggle, cron time)
Feel free to fork and PR — or open issues to suggest improvements.