This is a comprehensive Online Judge project built using the MERN (MongoDB, Express.js, React.js, Node.js) stack. The project provides a platform for hosting coding competitions, practicing coding problems, and evaluating submissions. It is designed to facilitate the evaluation of programming skills and improve problem-solving capabilities.
- User authentication and registration
- Coding competition creation and management
- Practice coding problems with different difficulty levels
- Submission evaluation and scoring
- Leaderboard for competitions
- Code editor
- Admin dashboard for managing users, competitions, and problems
- Frontend: React.js
- Backend: Node.js, Express.js, MongoDB
-
Clone the repository:
-
Navigate to the project directory:
cd online-judge
-
Install the dependencies for both the frontend and backend:
cd frontend npm install cd ../backend npm install
-
Configure the environment variables:
- Create a
.env
file in the backend directory. - Add the necessary environment variables in the
.env
file. For example:
PORT=5000 MONGODB_URI=<your-mongodb-uri>
- Create a
-
Start the development servers:
# Start the backend server cd backend npm start # Start the frontend development server in a new terminal window cd frontend npm start