A full-stack dashboard for managing and tracking Codeforces users. Features include profile syncing, recent submissions, contest history, user inactivity detection, and automatic email reminders.
- 🔍 Search and view Codeforces user profiles
- 📊 View rating, rank, and contest history
- 🧠 Detect inactive users and send reminder emails
- 🔄 Daily automatic sync using cron jobs
- 📈 Display recent submissions and stats
- Frontend: React, Tailwind CSS, Axios
- Backend: Node.js, Express.js
- Database: MongoDB with Mongoose
- Utilities: Nodemailer, node-cron
- Node.js
>= 16 - MongoDB running locally or hosted (e.g., MongoDB Atlas)
git clone https://github.com/abhis12github/CodeForces.gitBackend
- cd backend
- npm install
Frontend
- cd ../frontend
- npm install
Backend
- PORT=4000
- FRONTEND_URL=http://localhost:5173
- MONGOOSE_URI=your_mongo_db_connection_string
- EMAIL_USER=your_email@example.com
- EMAIL_PASS=your_email_app_password
Backend
- cd backend
- nodemon index.js
Frontend
- cd frontend
- npm run dev
GET /api/v1/users POST /api/v1/users| Parameter (body) | Type | Description |
|---|---|---|
handle |
string |
Required*. codeforces handle of user to be created |
GET /api/v1/users/${handle}| Parameter | Type | Description |
|---|---|---|
handle |
string |
Required*. codeforces handle of user to fetched |
GET /api/v1/contests/${handle}| Parameter | Type | Description |
|---|---|---|
handle |
string |
Required*. codeforces handle of user to fetched |
GET /api/v1/submissions/${handle}| Parameter | Type | Description |
|---|---|---|
handle |
string |
Required*. codeforces handle of user to fetched |