Skip to content

loop0919/aiblecode-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AIbleCode-API

AIbleCodeのバックエンド&APIエンドポイントです。


環境

以下の条件を満たす環境で動作するはずです。

  • Bashシェルが使える(ubuntu-22.04、amazon linux 2023 で動作を確認済み)
  • Python3 や pip が使える

依存関係

ジャッジサーバーとして、Judge0 API を使うようになってます。


始め方

  1. .env-dummy.env に変更し、以下の内容を記入する。
HOST="[起動するサーバーのホスト名]" # デフォルト: localhost
PORT=[起動するサーバーのポート番号] # デフォルト: 8888

SECRET_KEY="[JWTトークン用のシークレットキー(ランダム値)]"
ALGORITHM="[JWTトークン用のアルゴリズム]"
ACCESS_TOKEN_EXPIRE_MINUTES=[トークンの期限切れ時間(分)]

ADMIN_USERNAME="[管理者のユーザー名]"
ADMIN_PASSWORD="[管理者のパスワード]"

JUDGE_API_URL="[ジャッジサーバーのAPIのURL]"

DATABASE_URL="[DBサーバーのURL]"
GEMINI_API_KEY="[Gemini(生成AI)のAPIキー]"
  1. 以下のコマンドを実行する。
$ pip install -r requirements.txt
$ python3 ./api/migrate_db.py # 初回起動時 or データベースをリセットするときのみ
$ python3 ./api/main.py
  1. http://localhost:8888/api/docs (http://[HOST]:[PORT] に適宜変える)を見よう!

使い方

  • 初回起動時は管理者のユーザー名・パスワードでログインするか、/sign_up でユーザー登録& /token でログインすると良いかも。

  • 管理者ログインをして /create_category/create_problem/create_testcase で問題を作れます。

  • ジャッジサーバーが生きていれば提出もできます。

  • データベースをリセットしたいときは、

    $ python3 ./api/migrate_db.py

    をしましょう。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages