You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Menci 0f6324f704 Fix workaround foreign key checks 8 years ago
models Fix workaround foreign key checks 8 years ago
modules Allow admin to change problem id 8 years ago
static UI optimize 8 years ago
uploads Add uploads folder 8 years ago
views Allow admin to change problem id 8 years ago
.babelrc Initial commit 8 years ago
.gitignore Use file to store session 8 years ago
LICENSE Initial commit 8 years ago
README.md Allow admin to change problem id 8 years ago
app.js Fix workaround foreign key checks 8 years ago
config-example.json Add import problem 8 years ago
package.json Add CSS filter for XSS 8 years ago
utility.js Add CSS filter for XSS 8 years ago

README.md

SYZOJ 2

An OnlineJudge System for OI.

The UI is powered by Semantic UI.
Template designed & coded by Sengxian and Menci.

Deploying

There's currently no stable version of SYZOJ 2, but you can use the unstable version from git.

git clone https://github.com/syzoj/syzoj
cd syzoj

Install dependencies with npm install or yarn.

Copy the config-example.json file to config.json, and change the configures.

Database

SYZOJ 2 uses Sequelize, which supports many database systems, including MySQL and Sqlite. But SYZOJ 2 supports only MySQL and Sqlite.

By default it use the Sqlite database syzoj.db, you can change it in config.json

Security

You should change the session_secret and judge_token in config.json.

Administration

In the database, the is_admin field in user table describes whether a user is admin or not.

To make a user be an admin, the only way is via database.

Judge

SYZOJ 2 uses a Docker-based sandboxed judger. Please go to syzoj-judge.