配布資料の目次 › 再現環境 Keihi
配布資料 60Keihi — 再現用ミニPJ「経費精算システム」
手を動かしたい方のための、再現用のミニプロジェクトです。
社員が経費を申請し、上長が承認し、経理が支払います。企業内でよく作られる題材で、 題材プロジェクトの設計パターンと開発規律を安全に再現できるようにしてあります。
この教材自身がドキュメント駆動開発の見本になるよう、コードより先に要件文書群(docs/)を整備しました。 そして Keihi 自体も、Claude Code のサブエージェント4体で構築しています。 「このリポジトリもこの手法で作られた」という再帰構造を、そのまま見てもらうためです。
現在地
- 要件定義・画面設計・実装フェーズ計画(docs/)
- プリビルド実装 Phase 0〜3 完了(3アクター認証・申請系・承認+差戻し・支払/月次集計。単体テスト102件 / curl 一気通貫 / mailhog 実受信まで検証済み)
- 演習用ブランチ整備
- hooks 6本の移植 + CLAUDE.md / rules の Keihi 版(動作テスト済み)
- ブラウザ実機の目視
最後の1行が残っているのは意図的ではありません。単に人間の目視がまだだからです。 この記録の行動原則どおり、目視が終わるまで「完了」とは呼ばないことにしています。
設計上の要点
- ロール: 社員(申請)/ 承認者(承認・差戻し)/ 経理(支払処理・月次締め)。アクター別 API プレフィックスと JWT 分離を移植しました
- 状態遷移: 下書き → 提出 → 承認済み → 支払済み(+ 差戻し・取下げ)。初期スコープは意図的に承認1段階にしてあります。第2部の大規模仕様変更(2段階承認 + 代理申請の exploration 文書作成)の余白にするためです
- 金額計算: 明細合計・費目別上限(エラー/警告の2種)・月次締め。決済事業者なしで金銭ロジックの規律(成分別 assertion)を扱えます
- スタック: NestJS + Next.js + Prisma + PostgreSQL + Docker(Redis なし)。日時列は最初から timestamptz にしてあります。9時間ずれの事例を踏まないためです
何をどこまで作ってあるか
Phase 0〜3 は作ってあります。差戻し機能だけは意図的に未実装で残してあり、 第3部でそこを通しで実装します。検証の階段をフルコースで登る対象です。
hooks は題材プロジェクトの24本から6本を選んで移植しました。 実際に動いているソースの全文はフックの実物にあります。