Giter Site home page Giter Site logo

khaled-taha / online-judge Goto Github PK

View Code? Open in Web Editor NEW

This project forked from meetpatel0963/online-judge

0.0 0.0 0.0 8.03 MB

An Online Judge based on MERN Stack, Spring Boot and Docker.

Shell 0.13% JavaScript 6.11% C++ 0.11% Java 2.31% CSS 0.81% HTML 90.54%

online-judge's Introduction

Online-Judge

An Online-judge system based on Node and React (MERN Stack).

Features

  • Authentication and Authorization
  • Submit your code
  • Test your code
  • Results shows Time (Sec) and Memory (MB)
  • Verdicts
    • Time Limit Exceeded (TLE)
    • Memory Limit Exceeded (MLE)
    • Compilation Error (CE)
    • Runtime Error (RTE)
    • Wrong Answer (WA)
    • Accepted (AC)
  • See your submissions
  • Filter problems based on tags
  • Search problems by name
  • Dashboard for Statistics
  • Create Coding Problems
  • E-mail verification
  • Forgot password
  • Leaderboard

Supported Languages

  • C
  • C++ 11/14/17 (GCC)
  • Java 8
  • Python 3

Prerequisite

  • Docker Desktop
  • Node.js

Env Variables

In judge/config/config.js:

PORT = 5000
JWT_PRIVATE_KEY = <Your_JWT_Token>
BACK_SERVER_URL = <Spring_Server_URL>

Setup Locally

Make sure to install docker in your machine.

Start Docker Desktop

git clone https://github.com/meetpatel0963/Online-judge.git
cd online-judge

Client

In client/src/config/config.js:

Change BACK_SERVER_URL="http://localhost:<spring_server_port>"

Change JUDGE_URL="http://localhost:<judge_server_port>"

cd client
npm install
npm start

Server

Start Spring Boot Server

Change PATH_INIT={{Path to Server Directory}} in judge/judge.js

cd judge
mkdir submissions
npm install
cd docker
docker build -t <Image_Name> .
cd ..
npm start

Make sure to start Docker Desktop before the command npm start.

๐ŸŽ‰ And that's it! You will now be able to visit http://localhost:3000/ URL and see your application up and running.

Snapshots

SignIn

SignIn

SignUp

SignUp

ProblemSet

Problem

Problem Page

Problem Problem

Code Editor

Problem

Results

Results

Add Problem Page

AddProblem AddProblem

User Submissions

My Submission

User Submission Modal

Modal

Dashboard Charts

Dashboard

Dashboard Charts

Dashboard

Thanks

  • I'd appreciate a star if you find this helpful.

License

MIT

online-judge's People

Contributors

meetpatel0963 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.