高専生のための単位計算サービス
初回は以下の手順を全て行う。
次回以降は、基本的に"Server Startup"のみを行う。(ただし、依存関係や DB に変更があった場合は、適宜"Container Setup"の対応する手順を行う)
- clone this repository
cd barifacnpm install- python の仮想環境を作成
python -m venv venvsource venv/bin/activatepip install -r requirements.txt
- 環境変数ファイルを追加 (tmpl を参考に作成し、足りない情報は slack で確認)
- add fastapi/fastapi.env
- firebase の credentials.json を追加 (Slack などで共有してもらう)
- add fastapi/firebase_credentials.json
- コンテナ ボリューム ネットワーク作成・起動
docker-compose up -d- 依存パッケージのインストール
docker-compose run fastapi poetry install- DB migrate
docker-compose run fastapi poetry run alembic upgrade headdocker-compose run -p 8000:8000 fastapi ./scripts/server(実行権限がなければ sudo chmod +x ./fastapi/scripts/server で付与する)
commit 時に linter/formatter が自動的に走るように設定をする。
- python の環境を local に構築(OS,宗教によって環境構築の仕方が異なるので割愛)
- node, npm の環境を local に構築(OS,宗教によって環境構築の仕方が異なるので割愛)
- このプロジェクトでは yarn ではな npm を用いる。深い理由はない。
- root(README.md と同階層)で
npm installで必要なパッケージをインストールpackage-lock.jsonは自分で編集してはいけないファイルであり、git 管理をする必要があります。編集・消去しないで commit してください。
- root(README.md と同階層)で
pip install -r requirements.txtで必要なパッケージをインストール
linter/formatter は staged file のみに走ります。linter/formatter を走らせたくない場合は、--no-verifyを commit 時にオプションで指定してください。