Skip to content

[This repository is a mirror of my private server] online judge site for competitive-programming powered by PHP.

License

Notifications You must be signed in to change notification settings

ibuki2003/onlinejudge

Repository files navigation

online judge 2

概要

競技プログラミングに使用できるオンラインジャッジシステムです. データベースその他に旧OJと互換性をもたせています. 旧OJと置き換えが可能です.

構築手順

  1. 任意のディレクトリにこれをcloneします.
  2. composer installを実行します.
  3. .envファイルを.env.exampleからコピーし,自身の環境に合わせて編集します.
  4. php artisan migrateを実行します.
  5. npm installを実行します.
  6. npm run productionを実行します (開発環境の場合はnpm run dev)
  7. langsテーブルに任意の言語を追加します. 詳しくは下の説明を参照してください.
  8. public/をドキュメントルートとしてWebサーバーを起動します.
  9. ジャッジプログラムを起動します.

旧OJとの互換性

データベースの操作をすることなく新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
    • スクリプトをコンパイルする
  • ジャッジプログラム

ライセンス

このソフトウェアはMITライセンスのもとで公開されています. その他,以下のライブラリを使用しています.

  • KaTeX

    KaTeX is licensed under the MIT License.

About

[This repository is a mirror of my private server] online judge site for competitive-programming powered by PHP.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published