/online-judge

an attempt at making an online judge

Primary LanguageJavaScript

The Veridactor - Simple Online Judge System Maker

this is an attempt at making an online judge for iit gandhinagar's flagship hackathon "hackrush"

tech stack:
frontend: reactjs
backend: node
database: mongodb

doubts page:

  • post schema (post_id (primary_key), user_id, post_time)
  • comment schema (comment_id (primary_key), user_id, post_id)
  • will display all the posts sorted by time (earlier first)
  • when clicked on "show comments" for a post, all the comments with post_id of that post should be shown

history page:

  • submission schema (submission_id, user_id, code, score, submission_time)
  • for a particular user, list down all the submissions

todo:

  • print the shell output on the main frontend screen beside the code editor
  • make this beautiful
  • make the problem statement(ability to add a problem statement as a markdown file) and doubts pages (have people ask doubt and people can comment here)

handling submissions at the same time:

  • rate limiting (user experience is bad - might be unfair) --> last option
  • message queue (adding event to message queue {user_ID, code, submission_ID}) --> async processing
  • need to avoid malicious/illegal code