A comprehensive system for tracking and managing student progress on Codeforces.
- Student management with Codeforces integration
- Detailed contest history and problem-solving analytics
- Automated data synchronization with Codeforces
- Inactivity detection and email notifications
- Responsive design with light/dark mode support
- Frontend: React.js with Material-UI
- Backend: Node.js with Express
- Database: MongoDB
- Authentication: JWT
- Email Service: Nodemailer
- Data Visualization: Chart.js, React-Calendar-Heatmap
student-progress-system/
├── client/ # Frontend React application
├── server/ # Backend Node.js application
├── .gitignore # Git ignore file
└── README.md # Project documentation
- Node.js (v14 or higher)
- MongoDB
- npm or yarn
-
Navigate to the server directory:
cd server -
Install dependencies:
npm install
-
Create a .env file with the following variables:
PORT=5000 MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret EMAIL_SERVICE=your_email_service EMAIL_USER=your_email EMAIL_PASS=your_email_password -
Start the server:
npm run dev
-
Navigate to the client directory:
cd client -
Install dependencies:
npm install
-
Create a .env file:
REACT_APP_API_URL=http://localhost:5000 -
Start the development server:
npm start
The API documentation can be found in the docs.md.
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- Create a new Pull Request
You can watch a demo of the Student Progress Management System in main directory.