HMP_OJ is an online judge system for competitive programming built with modern technologies. It provides a comprehensive platform for users to practice coding problems, submit solutions, and get feedback on their submissions.
- Chinmay Malve (20225028) https://github.com/chinmay2814
- Keshav Diwakar (2025043) https://github.com/Keshav1707
- Subrat Shakya (20226146) https://github.com/subratshakya
- Priyanshu Anand (20225065) https://github.com/priyanshuanandd
- Frontend: React.js
- Backend: Node.js, Express.js
- Database: MongoDB
- Real-time Communication: Socket.IO
- CSS Framework: Tailwind CSS
- User registration and login
- Password reset functionality
- Session management with cookie-based authentication
- Browse and attempt coding problems from various categories
- Submit solutions in multiple programming languages
- Automated evaluation and grading of submissions
- View submission history and test case results
- Leaderboard for tracking user rankings and performance
- Access to problem editorials and explanations
- Contribute to the blog by submitting articles
- Real-time communication with other users
- Discuss problems, solutions, and coding techniques
- User profile management
- Track personal progress and performance
- Manage problem sets and submissions
- Leaderboard displaying user rankings based on points
- Earn points by solving problems and contributing to the community
- User sessions with automatic logout after cookie expiration
-
Clone the repository:git clone https://github.com/your-username/HMP_OJ.git
-
Install dependencies for the frontend and backend:
cd HMP_OJ/frontend yarn install cd ../backend yarn install
-
Configure the application settings:
cd backend cp .env.example .env
Update the .env
file with your desired configuration settings, such as database credentials and secret keys.
4. Start the development servers:
Start the frontend
cd ../frontend
yarn start
Start the backend
cd ../backend
yarn server:dev
The application should now be accessible at http://localhost:5001
.
Contributions to HMP_OJ are welcome! If you find any issues or have suggestions for improvements, please open an issue or submit a pull request on the GitHub repository.
This project is licensed under the MIT License.
- React.js - The JavaScript library used for building the user interface
- Node.js - The JavaScript runtime used for the backend
- Express.js - The web application framework for Node.js
- MongoDB - The NoSQL database used for data storage
- Socket.IO - The library used for real-time communication
- Tailwind CSS - The utility-first CSS framework used for styling