Glowxq-OJ:次世代オンラインプログラミング評価システム

Web

概要

Glowxq-OJは、競技プログラミングやプログラミング教育に最適なオンラインジャッジ(OJ)システムです。最新のJava 21とSpring Boot 3.xをバックエンドに採用し、フロントエンドはVue 3で実装。ACM/ICPC形式の競技や情報オリンピックのトレーニング、さらには子ども向けプログラミング教育まで幅広く対応するために設計されています。多言語対応の判定機能やリアルタイムコンテスト機能、オンラインIDEの統合など、多彩な機能を持ちながらもDocker環境による簡単なデプロイを実現。これにより、教育機関やコンテスト運営者が手軽に高機能なOJ環境を構築できます。

GitHub

リポジトリの統計情報

  • スター数: 3
  • フォーク数: 1
  • ウォッチャー数: 3
  • コミット数: 2
  • ファイル数: 17
  • メインの言語: Java

主な特徴

  • 多言語対応のオンラインジャッジ:Java、C++、Pythonなど複数のプログラミング言語をサポートし、柔軟な課題設定と自動採点が可能。
  • リアルタイムコンテスト機能:ACM/ICPC形式の競技プログラミングに対応し、リアルタイムでのスコアボード更新や問題配信が可能。
  • オンラインIDE統合:ブラウザ上でコードの編集・実行ができるオンラインIDEを搭載し、学習効率を向上。
  • Dockerによるワンクリック展開:環境構築の手間を大幅に削減し、すぐに運用可能な状態を提供。

技術的なポイント

Glowxq-OJは、最新技術を活用したモダンなオンラインジャッジシステムとして注目されます。バックエンドでは、Java 21の新機能を活かしつつ、Spring Boot 3.xの堅牢かつ拡張性の高いフレームワーク上に構築。これにより、RESTful API設計やセキュリティ、パフォーマンス最適化が図られています。データベースとの連携は効率的に設計されており、ユーザーの認証・権限管理や問題・コンテスト設定、提出物の管理をスムーズに処理します。

フロントエンドはVue 3を用いて開発されており、シングルページアプリケーションとして軽快なユーザー体験を提供。リアルタイムでのスコアボード更新や問題閲覧、オンラインIDEでのコード編集など、ユーザーインタラクションに優れています。特に、オンラインIDEはWebベースでありながらローカルに近い操作感を実現している点が教育現場での利用に適しています。

判定システムは多言語対応であり、ソースコードのコンパイル・実行・結果取得までを自動化。安全なサンドボックス環境でのコード実行により、セキュリティリスクを抑制しています。さらに、リアルタイムのコンテスト運営に必要なスコア集計やランキング表示もシームレスに連携。これにより、運営者は複雑な設定や手動集計から解放され、参加者は公平かつ迅速な評価を受けられます。

Dockerを活用した環境構築も大きな特徴です。複雑な依存関係やビルド作業をDockerイメージにまとめることで、一度のコマンド実行で本番環境と同等の開発・テスト環境を構築可能。これにより、導入障壁を下げ、コミュニティや教育機関での普及を促進しています。

また、OSSとしての透明性と拡張性も重視されており、コードベースは理解しやすく、カスタマイズや機能追加が行いやすい設計です。これにより、独自のコンテストルールや教育カリキュラムに応じた柔軟な対応が可能となっています。

プロジェクトの構成

主要なファイルとディレクトリ:

  • .env.example: 環境変数の設定例ファイル
  • .gitignore: Git管理から除外するファイル群の定義
  • DOCKER_FIX_SUMMARY.md: Docker環境に関する補足説明
  • LICENSE: ライセンス情報(Apache 2.0)
  • README.md: プロジェクト概要や導入手順などの説明ドキュメント

その他に、Javaのソースコード群やVueのフロントエンドコード、Docker関連ファイル、設定ファイルなど計17ファイルが含まれている。

まとめ

最新技術を駆使した高機能なオンラインジャッジシステムであり、教育現場や競技運営に最適。

リポジトリ情報:

  • 名前: glowxq-oj
  • 説明: Glowxq-OJ 专业开源在线编程测评系统 | 基于Spring Boot 3.x + Java 21 + Vue 3构建 | 支持ACM/ICPC竞赛、信奥赛训练、编程教育 | 多语言判题、实时竞赛、在线IDE | Docker一键部署 | Modern Online Judge Platform for Competitive Programming & Coding Education
  • スター数: 3
  • 言語: Java
  • URL: https://github.com/glowxq/glowxq-oj
  • オーナー: glowxq
  • アバター: https://avatars.githubusercontent.com/u/79456639?v=4