Skip to content

stevomitric/mat-judge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mat-judge API

Execute, evaluate and judge code in an isolated, secure environment, all by simple API calls.

Overview

Mat-judge is an open source online judging system. It executes and evaluates code based on specified parameters. With easy installation, you can integrate it into your application in no time 🚀

Features include:

  • Isolated code execution
  • Runtime limit
  • Memory usage limit
  • 10 languages support
  • Token Authorization
  • Worker resource distribution
  • SQLite data storage
  • Fast flask API response
  • Full submission report
  • Passive submissions
  • Clientside/Serverside usage
  • Request limitations and overhead management

Installation

Since this is built with pure python 3.6, without any additional modules (except flask), you can run it on Windows, Linux or Mac. Assuming you have python 3.x and pip3 installed:

  • Download or clone mat-judge github repo.
  • install flask module for python3
    • pip3 install flask
  • Run the api
    • python3 api.py

You're all set!

You can run python3 api.py --help to view command-line options for the API.

By default, if you're running Linux, a single worker module will be spawned. You can take advantage of the worker distribution feature and run multiple workers on different machines, expanding resources and increasing maximum workload. This is recommended (and easily done) by opening an ssh tunnel and securely connecting the worker to the API.

Development

Current version is V1.1, 25.09.2020.

Developed by Stevo Mitric, Software Engineering student at ETF, Belgrade. [email protected]

Project code name: Mat-judge

About

Code execution, evaluation and judge API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published