Branch for D-Watch(Viewer site)
| .claude | 3 days ago | ||
| .github/ workflows | 3 days ago | ||
| app | 3 days ago | ||
| components | 3 days ago | ||
| docs | 3 days ago | ||
| lib | 3 days ago | ||
| prisma | 3 days ago | ||
| public | 3 days ago | ||
| scripts | 3 days ago | ||
| .cursorrules | 3 days ago | ||
| .env.example | 3 days ago | ||
| .env.production.example | 3 days ago | ||
| .gitignore | 3 days ago | ||
| CLAUDE.md | 3 days ago | ||
| README.md | 3 days ago | ||
| d-watch-api.yaml | 3 days ago | ||
| d-watch-mock.jsx | 3 days ago | ||
| eslint.config.mjs | 3 days ago | ||
| instrumentation.ts | 3 days ago | ||
| next.config.ts | 3 days ago | ||
| package-lock.json | 3 days ago | ||
| package.json | 3 days ago | ||
| prisma7.config.ts | 3 days ago | ||
| proxy.ts | 3 days ago | ||
| tsconfig.json | 3 days ago | ||
| vitest.config.ts | 3 days ago | ||
清掃ロボット稼働モニタリングビューアー。DFA Robotics 内製開発。
docs/getting-started.md — 開発者向けセットアップ手順docs/code-map.md — 非エンジニア向け。どのファイル・関数・数値が何を司っているかdocs/architecture.md — エンジニア向け。触ってはいけないものの正docs/spec.md — 機能一覧と開発フェーズdocs/fixtures.md — DB接続前の開発用データ仕様CLAUDE.md — Cursor / Claude Code は必ずこれを読むdocs/decisions.md — なぜこの仕様なのかd-watch-api.yaml — OpenAPI 3.0npm install cp .env.example .env.local # 接続情報を記入 npm run dev # http://localhost:3000
実DBが用意される前は、lib/fixtures/ のサンプルデータで開発します。
# .env.local USE_FIXTURES=true
APIルートがサンプルデータを返すため、DBなしで全画面を開発できます。
DB接続時は USE_FIXTURES=false にするだけで、画面側のコードは変更不要です。
用意すべきデータのケース(判定の境界値、L1〜L3、契約フラグ4パターン、空配列など)はdocs/fixtures.md を参照してください。
DBはTeamWorksが構築します。マイグレーションは作りません。
npx prisma db pull # 実スキーマを schema.prisma に取り込む npx prisma generate
取り込んだ内容とテーブル定義書(28テーブル)に食い違いがあれば、実装を止めて確認してください。
この突き合わせだけはM1で早めに実施します(カラム名の食い違いが後から見つかると全画面に波及するため)。
画面開発は引き続き fixture のまま進めます。
npm test # 判定ロジックの期待値表テストを含む
判定ロジック(◎○△×、L1〜L3、KPI計算、丸め)は必ずテストで固定します。CLAUDE.md の 4.1〜4.5 が仕様の正です。
main + featureブランチ(GitHub Flow)main への直接pushは禁止(ブランチ保護。必ずPR経由)lib/judge/(判定ロジック)を触るPRは相互確認するd-watch-api.yaml を先に修正する| 担当 | 範囲 |
|---|---|
| Daigo(環境) | リポジトリ/CI、Prisma接続、点検記録の独自ストア、デプロイ、PRレビュー |
| たけうち りき(開発) | 画面実装(モック移植 + API接続)、APIルート実装 |
判定ロジック(lib/judge/)は両名で確認します。
| 領域 | 担当 |
|---|---|
| MySQL DB本体 / データ収集 / サマリ集計バッチ | TeamWorks(外部) |
| APIサーバー / ビューアー / 点検記録 | DFA(本リポジトリ) |
DBは原則読み取り専用です。書き込みは robot_error_reports / control_error_histories のstatus / comment / responded_at / resolved_at の4カラムのみ。
M0(環境準備)まで完了。 次は M1(判定ロジック lib/judge/ + 期待値表テスト)と M2(画面実装)。
| ディレクトリ | 内容 |
|---|---|
lib/types/ |
d-watch-api.yaml から起こした型定義 |
lib/config/ |
閾値(90/70/10、猶予30分、L2=2日/L3=3日)。ハードコード禁止 |
lib/fixtures/ |
サンプルデータ。境界値・異常系を仕込んである |
lib/db/ |
USE_FIXTURES による fixtures / Prisma の切替 |
app/api/clean-logs/ |
動く見本のAPIルート。 他の一覧APIはこの形を真似する |
TeamWorks待ちの項目は docs/spec.md §4 を参照。
待ちの間はモック/スタブで先行し、解消後に差し替えます。