Giter Club home page Giter Club logo

teajudge's Introduction

Read this article in other languages : Українська, Русский

TeaJudge - self-hosted web environment for programming skills assessment for universities, colleges and programming courses. It comes with these features:

  • Playback of answer input
  • Comparison of answers
  • Answer template with non-editable blocks
  • Marking task conditions with LaTeX and Markdown
  • Grouping tasks in courses
  • Specify the time of opening and closing of the course and duration of reports conservation
  • Limit time and memory
  • Masurements of time and memory
  • Import users from csv
  • Collect and export of statistics
  • Supported programming language : C/C++, Python3
  • Supported interface language : English, Українська, Русский

Prerequirement

  • Debian / Ubuntu
  • http-server (apache2, nginx, lighttpd, etc.)
  • mysql-server

Installation and Usage

  1. Download teajudge_1.0-1_all.deb
  2. Exec
sudo dpkg -i teajudge_1.0-1_all.deb
sudo apt-get -f install

or

  1. Clone repo to <your_site_directory>/teajudge (for example /var/www/html/teajudge)
  2. Exec sudo bash ./install.sh

then

  • Log in as admin : admin
  • Import accounts of students
  • Create your own course
  • Enjoy)

Dependencies

See here

License

TeaJudge is freely distributable under the terms of the MIT license.

teajudge's People

Contributors

vmikhav avatar vturturika avatar

Stargazers

 avatar

Watchers

 avatar  avatar

teajudge's Issues

Deploy script

  • check/install build essential, python3, php (7.1?), mysql
  • ask interface language ( English, Ukrainian and Russian now )
  • ask database host ( localhost as default )
  • ask database admin login and password
  • import database structure ( teajudge.sql )
    mysql -h "server-name" -u "root" "-pXXXXXXXX" < "teajudge.sql"
  • create database user ( login : teajudge, password : random string )
    CREATE USER 'teajudge'@'localhost' IDENTIFIED BY 'new_password';
    GRANT SELECT, INSERT, UPDATE, DELETE ON teajudge.* TO 'teajudge'@'localhost';
    FLUSH PRIVILEGES;
  • write sensetive data to php/sensetive_data.php ( database user login and password, interface language and token secret as random string )
    pass='password'
    sed -i "s/define('TJSECRET', '.*')/define('TJSECRET', '${pass}')/" ./php/sensetive_data.php
  • exec this code
    cd ./sandbox/libsandbox 
    ./configure
    sudo make install --prefix=/usr --libdir=/usr/lib
    cd ../pysandbox
    python3 setup.py build
    sudo python3 setup.py install

Code-to-code comparison

Create separated page to comparison answers to choosed task:

  • Show two list of users
  • Show latest submit date
  • Compare answer with git and display diff with diff2html

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.