Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/am4nn/online-judge-project
A MERN-Based Website that remotely runs and compiles user submitted code for a programming problem securely and judges if the code is correct/wrong
https://github.com/am4nn/online-judge-project
aws-ec2-ubuntu docker expressjs javascript mern-stack mongoatlas mui nodejs polling reactjs redis redux redux-toolkit server webdevelopment
Last synced: about 7 hours ago
JSON representation
A MERN-Based Website that remotely runs and compiles user submitted code for a programming problem securely and judges if the code is correct/wrong
- Host: GitHub
- URL: https://github.com/am4nn/online-judge-project
- Owner: Am4nn
- License: mit
- Created: 2022-06-24T06:54:53.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2024-08-11T08:01:07.000Z (6 months ago)
- Last Synced: 2024-08-11T09:21:19.148Z (6 months ago)
- Topics: aws-ec2-ubuntu, docker, expressjs, javascript, mern-stack, mongoatlas, mui, nodejs, polling, reactjs, redis, redux, redux-toolkit, server, webdevelopment
- Language: JavaScript
- Homepage: https://oj.amanarya.com
- Size: 24.2 MB
- Stars: 27
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
- License: LICENSE
Awesome Lists containing this project
README
# Online-Judge | Online-Coding-Platform | (MERN-Based Website)
- Build a platform that remotely runs and compiles user submitted code for a programming problem securely and judges if the code is correct/wrong
- Provided access to users to keep track of submitted code by maintaining Leaderboard and history of submissions
- Used Docker and Sandboxing techniques to make online judge more secure
- Used Poling and Queue to handle multiple requests
- Deployed and can be used by many users by Horizontal Scaling
- You can visit Live site here: [Online Judge](https://oj.amanarya.com)## Run Online-Judge Locally
- Navigate to client directory and install all dependencies for client side code using command : `npm install` and then run `npm start` to run react on [PORT 3000](https://localhost:3000)
- Navigate to the server directory and install the dependencies using the command `npm install`
- To run the server you must have `Docker` and `Redis` version greater than or equal to `2.8.18` installed on your PC
- If you are using Windows, install WSL for using `redis-server` and use `Docker-Desktop` for using `Docker`
- Server also uses `MongoDB`, either you can use mongodb-local or mongodb-atlas
- To use mongodb-atlas create a `.env` file and define a key named `DB_URL` and its value will be your atlas URL. To use mongodb-local no need to define `DB_URL` in `.env`
- Server uses cookies to handle authentication, which uses `JWT_SECRET` which is also defined in the `.env` file
- After all these steps you are all set to run the server. Use the command `npm start`. The server will start on [PORT 5000](https://localhost:5000)