環境構築
1. レポジトリをクローン
bash
# gh cli を導入している場合
$ gh repo clone uzuPJ/app
# 導入していない場合
$ git clone uzuPJ/app2. taskfile のインストール
Mac の場合
bash
$ brew install go-task公式ドキュメント(Windows, Linux の方)はこちらを参照してください。
3. (オプション) taskfile のコマンド補完を効くようにする
こちらを参考に設定してください:https://taskfile.dev/installation/#setup-completions
注意事項:
- Warp では補完が効かないことが知られています
- rootのディレクトリじゃないと補完は効きません
各サービスでの開発環境構築
mobile js backend mdms_jp について自分の開発したい環境で以下のコマンドを実行してください:
task [module名]:doctorの実行- 例:
task js:doctor [❌]がなくなって、全て[✅]になるまで指示に従って修正する
- 例:
task [module名]:initの実行- 例:
task js:init
- 例:
task [module名]:seedの実行- 例:
task backend:seed - ものによっては存在しません
- 例:
開発環境はモジュールごとに mobile, js, backend, mdms_jp の4つに分かれています。
| モジュール | doctor | init | seed | dev | clean |
|---|---|---|---|---|---|
| mobile | mobile:doctor | mobile:init | - | mobile:dev | mobile:clean |
| js | js:doctor | js:init | - | js:dev | js:clean |
| backend | backend:doctor | backend:init | backend:seed | backend:dev | - |
| mdms_jp | mdms_jp:doctor | mdms_jp:init | mdms_jp:seed | mdms_jp:dev | - |
| 全て | doctor | init | - | - | - |
各種開発パターンに応じた devコマンドの実行
パターン1: JSのみ開発する
SERVICE を指定して実行します。
例: task js:dev SERVICE=studio
パターン2: Backendのみ開発する
例: task backend:dev
適切に起動しているかは、Apollo Studio でqueryが走るかで確認してください。
パターン3: JS + Backend で開発する
SERVICE を指定して実行します。
例: task js:dev-backend SERVICE=studio
パターン4: Mobile + Backend で開発する
task mobile:dev-backend
パターン5: マダミス.jp で開発する
task mdms_jp:dev
VSCode の開き方
言語のルートごと /dart /javascript /backend もしくはプロジェクトごとどちらで開いても良いです。 recommended extensions はインストール推奨です。
[注意]
2024/06/24 時点で GraphQL 拡張は動かないことがあります。v0.9.3 に直すと治ります。
doctor で困ったときは
Docker関連
Flutter関連
Go関連
(mobile) fvmを使う人向け
fvmを使用する場合、以下のようにしてください:
- settings.jsonでは、
"dart.flutterSdkPath": "../../.fvm/flutter_sdk"という感じでdart直下の.fvmを参照するように書く - fvm useでバージョンを変える場合は必ずdart直下に移動する。モノレポなので、一部のパッケージだけ別のバージョンで開発する必要はないはず