Giter Club home page Giter Club logo

myoj-client's Introduction

Overview

The idea behind this project is to automate the process of assignment submission and grading by developing an online portal that enables the course instructors(professors/ TAs) to offer auto-graded programming assignments to their students over the Web. This platform will allow the instructors to give instant, automated feedback on the code submitted by the students without downloading or running any submission locally.

Features

  • To provide a complete solution for the pre-existing system of assignment evaluation by automating the submissions and grading of programming assignments by running everything in place on cloud servers.
  • To enable the instructors to setup online assignments, add coding problems to it with the custom made test-cases for better evaluation.
  • To allow the students to enroll into these assignments, write the code directly in the browser using our cloud IDE, run/submit the code and see the evaluated result in realtime.
  • As students may intent to copy the code from their friends or from online sources, so each submission will be checked for cheat detection using Stanford's MOSS (Measure of Software Similarity) algorithm.
  • Instructors can also watch all the submissions in realtime on their dashboard.
  • At the end of the assignment deadline, a detailed feedback report will be shared to the course instructor containing the statistical plot of the performance of students, score achieved by individual, and also the execution time/space of each submission.

Technology Stack

  • NodeJS
  • VueJS
  • MongoDB Atlas/ Redis
  • Docker
  • AWS S3

System Architecture

myOJ will be developed following a microservice based architecture which means that the overall system will be broken down into multiple independent services each of which can be developed, tested, and deployed without any dependency on the other.

Note:

This repository contains the code for the client app of the myOJ, and still in the development stage. This project has RCE(Remote Code Execution) service as it's major dependency which will be used to executed the code submitted by students in an isolated environment with the help of Docker containers.

myoj-client's People

Contributors

sastava007 avatar

Stargazers

 avatar

Watchers

 avatar  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.