Skip to content

Keshav1707/HMP_OJ

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

HMP_OJ

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.

Team Members

  1. Chinmay Malve (20225028) https://github.com/chinmay2814
  2. Keshav Diwakar (2025043) https://github.com/Keshav1707
  3. Subrat Shakya (20226146) https://github.com/subratshakya
  4. Priyanshu Anand (20225065) https://github.com/priyanshuanandd

Tech Stack

  • Frontend: React.js
  • Backend: Node.js, Express.js
  • Database: MongoDB
  • Real-time Communication: Socket.IO
  • CSS Framework: Tailwind CSS

Features

Robust Authentication System

  • User registration and login
  • Password reset functionality
  • Session management with cookie-based authentication

Online Judge Functionality

  • 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

Editorial Blog

  • Access to problem editorials and explanations
  • Contribute to the blog by submitting articles

Live Chat Room

  • Real-time communication with other users
  • Discuss problems, solutions, and coding techniques

Data Management

  • User profile management
  • Track personal progress and performance
  • Manage problem sets and submissions

Leaderboard and Ranking

  • Leaderboard displaying user rankings based on points
  • Earn points by solving problems and contributing to the community

Session Management

  • User sessions with automatic logout after cookie expiration

Installation

  1. Clone the repository:git clone https://github.com/your-username/HMP_OJ.git

  2. Install dependencies for the frontend and backend:

        cd HMP_OJ/frontend
         yarn install
         
         cd ../backend
         yarn install
    
  3. 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.

Contributing

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.

License

This project is licensed under the MIT License.

Acknowledgments

  • 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

About

Online Judge

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 94.2%
  • CSS 4.6%
  • HTML 1.2%