競技プログラミングに使用できるオンラインジャッジシステムです.
データベースその他に旧OJと互換性をもたせています.
旧OJと置き換えが可能です.
- 任意のディレクトリにこれをcloneします.
composer install
を実行します..env
ファイルを.env.example
からコピーし,自身の環境に合わせて編集します.php artisan migrate
を実行します.npm install
を実行します.npm run production
を実行します (開発環境の場合はnpm run dev
)- langsテーブルに任意の言語を追加します. 詳しくは下の説明を参照してください.
public/
をドキュメントルートとしてWebサーバーを起動します.- ジャッジプログラムを起動します.
データベースの操作をすることなく新OJに置き換えて使用することができます.上記手順3にて旧OJで使用していたデータベースの設定を使用してください.
langsテーブルに行を挿入することで追加が可能です. それぞれの列は以下の役割があります
- id
- 内部でのID
- キーに使用されるため,uniqueである必要がある.
- name
- 表示名.送信画面などUIで表示される
- extension
- 拡張子,
source.[拡張子]
でソースが保存される
- 拡張子,
- compile
- コンパイルコマンド
- インタプリタ言語など,不要の場合はNULL
- exec
- 実行コマンド
コマンド中のファイルにはパスを指定する必要があります.
ファイルパス部分を{path}
としてください.
- Webサーバ
- PHPの動作が可能であること.
- Apache推奨
- nginxなどを使う場合は
.htaccess
を参考に設定をする必要あり.
- PHP
- Versionは7以上推奨
- DBその他のextensionが有効であること
- Composer
- ライブラリのインストールに必要
- Node.js/NPM
- スクリプトをコンパイルする
- ジャッジプログラム
- oj_judgerなどが使用できます.
このソフトウェアはMITライセンスのもとで公開されています. その他,以下のライブラリを使用しています.
- KaTeX
KaTeX is licensed under the MIT License.