Giter Club home page Giter Club logo

judgev2's Introduction

Build Status

judgev2

This is the next iteration to the Codejudge online judge used at IIT Jodhpur, written from scratch. Its a work in progress and you can read the design decision here.

Getting Started

The instructing to run the judge are described in the Running wiki page.

Tests

You can run the tests by using npm test.

More details on the Tests page on wiki.

Contributing

This needs your love, please write the missing features and make it more awesome. File bugs if there are problems or you want to see a missing feature, or help out with are listed on the Issues page.

For more information hangout on #pclub-iitj channel on Freenode.

judgev2's People

Contributors

abhishekvp avatar ngsankha avatar rohilsurana avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

judgev2's Issues

Refactor the test suite

The current test suite requires adding the programs to db-test.js file. This can grow up to become big, monolithic and janky. We should find a better solution to arrange the tests.

Write other language handlers

They should go in languages folder. Take inspiration from C.js.

  • CPP
  • Java
  • Python

Give suggestions for more languages in the comments.

Not listening for requests on the port that is set up.

Followed the steps given in the wiki to run this judge. Did everything, but it is not working on the localhost, not on any port. The page is just loading when tried to enter localhost followed by port number.
There is no output in the browser except it is loading forever. And only the terminal says "Slave server is up" and "Master server is up".

Timeboxing required for programs

The programs submitted by users might have infinite loops or might take too much time to run, so we should have something that allocates a fixed time period, a time box, to each code run.

can not run on windows 7 64bit

when i run your code in my system. it show many bugs and a few package or plugin like fakechroot isnt support windows

Write a heavy load test

We need this test to assert that out judge successfully works in high load conditions. We had something similar for manual testing in previous commits.

Now that we have automated testing we should add it back appropriately. The test should do something like open 100 parallel connections and check that the judge works as expected.

Add security

There is no security sandbox for the code run right now. Add them here.

Cleanup promises chain in slave.js

Right now the promise chain in slave.js reports error at every step when a promise is rejected. This leads to the same error output multiple times. We should change to so that the reject handler is called only once.

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.