Git Product home page Git Product logo

autojudge's People

Contributors

dependabot[bot] avatar prateekkumarweb avatar vbsinha avatar vishwakftw avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar

autojudge's Issues

Support ranking in autojudge

We have rank field in the db in Person table, but we do not do anything with it. There should be a system of updating ranks based on performance in public contests. Perhaps use something similar to ELO rating, which is used by many popular judges. This issue can be left out for the students who take over the maintainence of this repo next year.

Make compilation scripts simpler to configure.

Currently, the expectation is that the compilation and test script be written by hand based on the default templates that are available. Instead we can float forms that ask for specific requirements, and then codegen the compilation and testing script. This will also reduce errors.

Better error localization and informative error messages

In the existing version of the app, we don't care about the exact field or set of fields that are causing the error.

For instance, in the case of a duplicate contest name passed at the time of contest creation, we simply get "Contest could not be created", without any other details as to why. Please look at the screenshot below:
image

A partial fix is to the pass the error string to the front-end, but for people with no domain knowledge, this is not good. Please look below:
image

I propose that we invoke field errors (presented in #76 for date checking). Please look below.
image

If this proposal is cool, I'll point out places where the code will have to be changed.

cc: @prateekkumarweb @vbsinha

Design Training Manual

We need to design a training manual for people interested in using this software.

Iโ€™m adding a list of points to be covered (should be expanded):

  • Create Contest
  • Add posters for the contest
  • Add participants for the contest
  • Update dates
  • Add Problem for the contest
  • Edit Problem
  • Delete Problem
  • Delete contest
  • Add test cases
  • Delete test cases (is this there)
  • Make submission
  • View all submissions and the statuses
  • Add comment
  • Update poster score
  • Download submissions
  • Download CSV of submission scores

TODO list

Here's the TODO list before the submission/evaluation on Thursday, May 2. Please keep on adding here and ticking off those which are completed.

  • CSV export (#50)
  • See the submission files (#52)
  • Leaderboard (#50)
  • Check for start_date > soft_deadline > hard_deadline (#41)
  • Accept submission only after start_date. (#53)
  • After hard_deadline, submissions will be accepted but this would not affect the final score of the Person-Problem (ie. do not update ppf after hard_deadline). This helps people solve problems after programming contests are over.
  • Delete button for Contest/Problem/Testcase (#47)
  • See and change TA score (#58)
  • CSV support for adding participants in bulk (#51)
  • Fix datetime issue in test (#51)
  • Download default scripts (compilation and test) when creating problem, and scripts after having created the problem. (#49)
  • Add option to enable linter scoring and/or TA scoring (#58)
  • Disable testcase, problem addition and deletion after start_date (#55, #58)
  • Do not show problems and contest before start_date to participants (#53)
  • Extend deadline (#57)
  • README.md (#59)
  • Documentation (#56)
  • Bug in downloading scores (Error when scores is []) (#54)
  • UI changes (#61)

Design usage manual

Based on recommendations during the evaluation, we should design training manual for common use.

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.