https://github.com/traptitech/rucq-ui
https://github.com/traptitech/rucq-ui
Last synced: 3 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/traptitech/rucq-ui
- Owner: traPtitech
- Created: 2025-03-21T01:31:04.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-03-21T02:19:30.000Z (over 1 year ago)
- Last Synced: 2025-03-21T03:24:57.014Z (over 1 year ago)
- Language: Vue
- Size: 170 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# rucQ-UI
- サーバー:[traPtitech/rucQ](https://github.com/traPtitech/rucQ)
- ユーザー向けクライアント:here
- Admin 向けクライアント:[traPtitech/rucQ-Admin](https://github.com/traPtitech/rucQ-Admin)
## 準備
[Web エンジニアになろう講習会](https://traptitech.github.io/naro-text/chapter1/) に従って環境構築をした場合、fnm(Node.js のバージョン管理ツール)が手元にあるはず
1. リポジトリルートをターミナルで開いて `fnm use --install-if-missing` を実行
2. `node -v` を実行して `v22.22.0` と表示されることを確認
3. `corepack enable && pnpm -v` を実行して `10.28.2` と表示されることを確認
## 起動
`pnpm i` でフロントエンドの起動に必要な Node モジュールをインストールしてください。
### MSW の Mock API を使う方法
クライアントからの HTTP リクエストを遮断して仮のレスポンスを返す MockServiceWorker を起動します。
1. フロントエンドを起動 `pnpm dev:msw`
2. にアクセス
起動は不安定であり、とくに初回は 2, 3 回のリロードを必要とする場合があります。
### Staging / Production API を使う方法
開発環境から Staging API()または Production API()にアクセスします。traQ 認証を突破するために Cookie をコピーしてくる必要があります。
**注意: 本番環境は実際のデータを使用しているため、閲覧以外の操作はなるべく行わないでください。データが実際に書き換わります。**
1. [Staging](https://rucq-dev.trapti.tech/api/me) または [Production](https://rucq.trap.jp/api/me) にアクセスする
2. DevTool のアプリケーションタブを開き、Cookie 一覧から `_forward_auth` の値を取得する
3. 空のテキストファイル `.env.local` をルートに作成して以下の内容を書き込む
```sh
STAGING_COOKIE="_forward_auth=xxxx" # Staging 用
PRODUCTION_COOKIE="_forward_auth=xxxx" # Production 用
```
※ `_forward_auth=` から始まる値をそのまま貼り付けてください。
4. フロントエンドを起動
- Staging: `pnpm dev:staging`
- Production: `pnpm dev:prod`
5. にアクセス
### ビルドとプレビュー(オフライン動作の確認)
ビルドしてプレビューすることで、Service Worker(PWA)を含む本番相当の挙動を確認できます。特に**オフライン時の挙動**を確認したい場合はこの手順を行ってください。
1. ビルドする
`pnpm build`
2. プレビューを起動
- Staging: `pnpm preview:staging`
- Production: `pnpm preview:prod`
3. にアクセス(ポート番号が 5173 ではない点に注意)
### ローカルでバックエンドを起動する方法
とくに必要がなければ基本的に Mock API または Staging API を使用してください。
1. バックエンドをローカルで起動 `docker compose up --build`
2. rucQ-Admin()から @traq を合宿係に追加
3. rucQ-Admin 上で合宿を作成して下書き設定を解除し、参加登録を受け付ける
4. フロントエンドを起動 `pnpm dev`
5. にアクセス
バックエンドをローカルに立てると自動で traQ も立ち上がります。@traq はデフォルトで traQ に存在するユーザーアカウントです。
## API スキーマの更新
API の型定義 [schema.d.ts](./src/api/schema.d.ts) はバックエンド [rucQ](https://github.com/traPtitech/rucQ) の openapi.yaml から自動生成されます。もし openapi.yaml に更新があれば、`pnpm generate:api` を実行して schema.d.ts を再生成してください。
## リリース
現状は以下の手順でやっています。
1. main から `release/v1.X.X` という名前でブランチを生やす
2. その中で package.json のバージョンを書き換えて `release v1.X.X` という名前でコミット
3. main に対して PR を出してマージ
4. GitHub の UI 上でリリースを打つ。Generate release notes ボタンを押してリリース概要を自動生成
5. [manifest](https://github.com/traPtitech/manifest/pulls) からリリース用の PR(自動で立てられる)を探す
6. 自分にレビューをリクエストし、Approve、マージ