- サーバー:traPtitech/rucQ
- ユーザー向けクライアント:here
- Admin 向けクライアント:traPtitech/rucQ-Admin
Web エンジニアになろう講習会 に従って環境構築をした場合、fnm(Node.js のバージョン管理ツール)が手元にあるはず
- リポジトリルートをターミナルで開いて
fnm use --install-if-missingを実行 node -vを実行してv22.22.0と表示されることを確認corepack enable && pnpm -vを実行して10.28.2と表示されることを確認
pnpm i でフロントエンドの起動に必要な Node モジュールをインストールしてください。
クライアントからの HTTP リクエストを遮断して仮のレスポンスを返す MockServiceWorker を起動します。
- フロントエンドを起動
pnpm dev:msw - http://localhost:5173 にアクセス
起動は不安定であり、とくに初回は 2, 3 回のリロードを必要とする場合があります。
開発環境から Staging API(https://rucq-dev.trapti.tech/api)または Production API(https://rucq.trap.jp/api)にアクセスします。traQ 認証を突破するために Cookie をコピーしてくる必要があります。
注意: 本番環境は実際のデータを使用しているため、閲覧以外の操作はなるべく行わないでください。データが実際に書き換わります。
-
Staging または Production にアクセスする
-
DevTool のアプリケーションタブを開き、Cookie 一覧から
_forward_authの値を取得する -
空のテキストファイル
.env.localをルートに作成して以下の内容を書き込むSTAGING_COOKIE="_forward_auth=xxxx" # Staging 用 PRODUCTION_COOKIE="_forward_auth=xxxx" # Production 用
※
_forward_auth=から始まる値をそのまま貼り付けてください。 -
フロントエンドを起動
- Staging:
pnpm dev:staging - Production:
pnpm dev:prod
- Staging:
-
http://localhost:5173 にアクセス
ビルドしてプレビューすることで、Service Worker(PWA)を含む本番相当の挙動を確認できます。特にオフライン時の挙動を確認したい場合はこの手順を行ってください。
- ビルドする
pnpm build - プレビューを起動
- Staging:
pnpm preview:staging - Production:
pnpm preview:prod
- Staging:
- http://localhost:4173 にアクセス(ポート番号が 5173 ではない点に注意)
とくに必要がなければ基本的に Mock API または Staging API を使用してください。
- バックエンドをローカルで起動
docker compose up --build - rucQ-Admin(http://localhost:3003)から @traq を合宿係に追加
- rucQ-Admin 上で合宿を作成して下書き設定を解除し、参加登録を受け付ける
- フロントエンドを起動
pnpm dev - http://localhost:5173 にアクセス
バックエンドをローカルに立てると自動で traQ も立ち上がります。@traq はデフォルトで traQ に存在するユーザーアカウントです。
API の型定義 schema.d.ts はバックエンド rucQ の openapi.yaml から自動生成されます。もし openapi.yaml に更新があれば、pnpm generate:api を実行して schema.d.ts を再生成してください。
現状は以下の手順でやっています。
- main から
release/v1.X.Xという名前でブランチを生やす - その中で package.json のバージョンを書き換えて
release v1.X.Xという名前でコミット - main に対して PR を出してマージ
- GitHub の UI 上でリリースを打つ。Generate release notes ボタンを押してリリース概要を自動生成
- manifest からリリース用の PR(自動で立てられる)を探す
- 自分にレビューをリクエストし、Approve、マージ