Kakomimasu Coreを使用した、囲みマスをオンラインで対戦するためのサーバです。
| 変数 | 説明 | デフォルト |
|---|---|---|
| PORT | リクエストを受信するポート | "8880" |
| BOARDNAME | フリーマッチで使われるボード 指定なしでランダムに選ばれる |
|
| DISCORD_WEBHOOK_URL | 予期しないエラー発生時のDiscordチャンネルWebHook URL | |
| VERSION | 現在のバージョン名/versionアクセス時に使用される |
"local" |
| DATABASE_URL | Prisma Postgres の接続文字列 | |
| GITHUB_CLIENT_ID | GitHub OAuthログイン用 詳細はこちらを参照 |
|
| GITHUB_CLIENT_SECRET | GitHub OAuthログイン用 詳細はこちらを参照 |
|
| TEST | テスト時のフラグ | true |
※ .envファイルが使用できます。
※GITHUB_CLIENT_*が未指定の場合、アカウントに関連する機能(BearerTokenを用いたAPI)は利用できません。ゲストモードによるゲーム参加は可能です。
開発にはPostgreSQLが動作するサーバが必要です。
ローカル用のPostgresサーバーを別途用意しない場合は、Prismaによるローカル用のPostgresサーバを使用すると手軽に用意できます。
deno task prisma:devPostgreSQLサーバを用意したら .env ファイルを作成し、 DATABASE_URL
を設定します。
deno task prisma:dev
を実行した場合はコンソールに接続文字列が出力されるのでそれをコピーし、下記のように設定します。
DATABASE_URL="postgres://postgres:postgres@localhost:51214/template1?sslmode=disable&connection_limit=10&connect_timeout=0&max_idle_connection_lifetime=0&pool_timeout=0&socket_timeout=0"DATABASE_URLの設定後、以下を実行します。
deno task prisma:generate
deno task prisma:push
deno task startPrisma Client は generated/prisma に生成されます。
OpenAPIにて定義されています。
| API Version | OpenAPI file | Document |
|---|---|---|
miyakonojo |
openapi.ts | https://kakomimasu.com/docs/api/miyakonojo |
tomakomai |
openapi.ts | https://kakomimasu.com/docs/api/tomakomai |
v1 |
openapi.ts | https://kakomimasu.com/docs/api/v1 |
#procon30の公開フィールド他、独自フィールドが搭載されています。
deno task test