Skip to content

youngeek-0410/barifac

Repository files navigation

barifac

docker

高専生のための単位計算サービス

Setup Procedure

初回は以下の手順を全て行う。
次回以降は、基本的に"Server Startup"のみを行う。(ただし、依存関係や DB に変更があった場合は、適宜"Container Setup"の対応する手順を行う)

Initialize

  1. clone this repository
  2. cd barifac
  3. npm install
  4. python の仮想環境を作成
    1. python -m venv venv
    2. source venv/bin/activate
    3. pip install -r requirements.txt
  5. 環境変数ファイルを追加 (tmpl を参考に作成し、足りない情報は slack で確認)
    • add fastapi/fastapi.env
  6. firebase の credentials.json を追加 (Slack などで共有してもらう)
    • add fastapi/firebase_credentials.json

Container Setup

  1. コンテナ ボリューム ネットワーク作成・起動
docker-compose up -d
  1. 依存パッケージのインストール
docker-compose run fastapi poetry install
  1. DB migrate
docker-compose run fastapi poetry run alembic upgrade head

Server Startup

docker-compose run -p 8000:8000 fastapi ./scripts/server

(実行権限がなければ sudo chmod +x ./fastapi/scripts/server で付与する)

linter/formatter 初期設定

commit 時に linter/formatter が自動的に走るように設定をする。

  1. python の環境を local に構築(OS,宗教によって環境構築の仕方が異なるので割愛)
  2. node, npm の環境を local に構築(OS,宗教によって環境構築の仕方が異なるので割愛)
    • このプロジェクトでは yarn ではな npm を用いる。深い理由はない。
  3. root(README.md と同階層)でnpm installで必要なパッケージをインストール
    • package-lock.jsonは自分で編集してはいけないファイルであり、git 管理をする必要があります。編集・消去しないで commit してください。
  4. root(README.md と同階層)でpip install -r requirements.txtで必要なパッケージをインストール

linter/formatter は staged file のみに走ります。linter/formatter を走らせたくない場合は、--no-verifyを commit 時にオプションで指定してください。