推しアイデア
GoやRustにも対応し、提出→評価→結果表示までを完全自動化。ランク機能を実装し、初心者も競技勢も楽しめる!
GoやRustにも対応し、提出→評価→結果表示までを完全自動化。ランク機能を実装し、初心者も競技勢も楽しめる!
競技プログラミングの学習ハードルを下げたくて開発。手軽に提出&結果確認できる環境が欲しい、という自分たちの思いが出発点です。
SQS→Lambda→ECS→S3の連携で非同期コード評価を実現。Monaco EditorやAmplify連携でUXも強化。結果はDynamoDB+S3で安定管理!
Raiders(襲撃者)、ALG(アルゴリズム)の造語であり、競技プログラミングプラットフォーム
フロントエンド: Next.js
バックエンド: Lambda(Go, Node.js)
web editer Dockerコンテナ上にcode-serverやLSP(Language Server Protocol)を構築・設定し、VSCodeのような開発環境を提供する。
code judge 送信されたコードをコンテナ内で実行し、AC(Accepted)、TLE(Time Limit Exceeded)、WA(Wrong Answer)などの判定結果をフロントエンドに返す。
code feedback 判定後のコードをChatGPT APIを介して分析し、最適なコードかどうかを評価する。ユーザーはChatGPTが提案する最適なコードと自身のコードを比較しながら確認できる。
architecture
このアーキテクチャは、特に規模が大きくなるアプリケーションで効果を発揮し、機能追加や変更を効率的に行えるように設計。
実際のプロジェクトtree ./src ├── config │ ├── amplify │ └── sidebar ├── contexts │ └── auth ├── feature │ ├── auth │ │ ├── register │ │ │ └── components │ │ └── login │ │ └── components │ ├── footer │ ├── header │ │ └── components │ │ └── navigation │ ├── home │ │ └── components │ └── problems │ └── components ├── types │ └── amplify ├── usecase │ ├── crypto │ └── cookie ├── components │ └── ui └── app ├── api │ ├── auth │ │ ├── get │ │ └── post │ ├── logout │ ├── result │ └── upload ├── (auth) │ ├── register │ └── login └── (main) ├── contests │ └── components ├── home └── problems └── [id]