bun idocker compose up -d- _envファイルを.envにコピー
- 各環境変数を埋める
- BETTERAUTH_SECRET - ランダムな英数字の羅列を挿入
- GOOGLE_CLIENT_ID / SECRET - Google API PlatformのClient ID / Secretです。詳しくは後述します。
- BETTER_AUTH_URL - 動かすURLを入力
DATABASE_URL - DBのURI。デフォルトでdocker-compose.yamlを動かした場合のものを入力済み(廃止済み)- SMTPHOST / SMT... - メールの設定。パスワードリセットやメール認証で用いられます。
- RAKUTEN_APP_ID / KEY - 楽天APIの設定です。これを設定することにより、ISBNコードの検索が容易になります。詳しくは後述します。
- PHP_CRUD_API_URL / APIKEY - PHP CRUD APIの設定です。後述します。
dbディレクトリ内の SQL を手動で適用bun dev
適切な説明を入力して送信してください。
Google Client ID等については下記記事を参考にしてください。
https://zenn.dev/milky/articles/google-client-oauth
このプロジェクトでは、ISBNコードから図書情報を取得し、円滑に書籍の登録ができるよう、Rakuten Books APIを使用しています。 下記の通りに設定してください。
Important
IPアドレス(特にIPv6)は、なるべく公開しないようにしましょう。 不正アクセスの温床になる場合があります。
- Rakuten Developers のページ にアクセスします。
- 右上のNew Appsをクリックし、必要に応じて楽天アカウントでログインします。
- 利用規約をよく読んだ上で、同意し、下記の通りにフォームに入力します。(右上に日本語ボタンがあります。)
- 下記のように入力してください。(画像は編集画面ですが、新規作成時も同じです。)
開発環境やデプロイ先(本番環境)などのAPIのアクセス元のIPアドレスが必要になります。 これは、セキュリティ上の理由から楽天が設けているものです。
Important
IPアドレスは、なるべく公開しないようにしましょう。 不正アクセスの温床になる場合があります。
Note
IPアドレスはたまに変わることがあります。 エラーが出るようになったら、確認してみましょう。 キャンパスのWiFiは特殊な設定なのでわかりませんが、一般的な家庭のネットワークであれば1年に1回も変わらないでしょう。 また、デプロイ先(本番環境)は管理ページ(ダッシュボード)に記載があったりします。
IPアドレスの確認には、下記サイトを使いましょう。
- 下記サイトへアクセス
- 右上の「ヘルプデスクの方へ」をクリックして、OtherSitesが全てgoodになるまで待つ
- IPv4、v6をコピーする。(v6はないこともある。)
https://test-ipv6.com/index.html.ja_JP
また、IPv6については、端末ごとに割り当てられるため、下記のように 最初の4セクションのみを抜き出し、::/64をつけて 指定しましょう。
例: 2001:0db8:1234:5678:90ab:cdef:0000:0000
この場合は、5678が4セクションめなので、
指定例: 2001:0db8:1234:5678::/64
となります。 末尾に/64のみならず、:が2つあることを確認してください!
本プロジェクトでは、LolipopをDBとして用いるため、PHP CRUD APIというライブラリを用いています。 phpディレクトリ内のprod.phpをlolipop上にデプロイし、ファイル最下部のDBの設定を変更してください。
また、ローカルで開発する際は、docker-compose.yamlを用いてください。
Important
これはDBマイグレーションを自動で行いません。 そのため、dbディレクトリ内のSQLファイルを手動で適用する必要があります。
詳しくは、こちらのリポジトリをご確認ください。
四日市キャンパス生のみ、開発用にDBを提供しています。
あかつきゆいと宛にお問い合わせください。
Note
この表はは開発用です。
| key | default value | nullable | description |
|---|---|---|---|
| name | (requirements) | No | キャンパス名 |
| rentalDeadline | 14 | Yes | 返却期限(日) |
| adminCanRental | false | Yes | 管理者は貸し出し可能か |
| minLatitude / maxLatitude / minLongitude / maxLongitude | (undefined) | Yes | サインアップできる場所の指定 |
| isNNN | true | Yes | N高グループか |

