プロジェクトでの変化
- 障害対応時間短縮
- 機能追加リードタイム短縮
- コードベースTypeScript化で
型整備
課題
直すたびに、
アプローチ
- 01 現行アプリの
ユースケースを 画面単位で リバースエンジニアリングしました - 02 Laravel + Inertia + React で
「サーバ起点・SPA体験」の 構成を 採用しました - 03 TypeScript化で
API入出力を 型で 固定し、 退行を 防いでいます - 04 Dockerで
ローカル〜本番までの 再現性を 担保しました - 05 社内エンジニアが
手を 入れられるよう、 コードレビュー基準と ドキュメンテーション方針を 策定しました - 06 リリースフローを
GitHub Actions ベースで 自動化し、 手作業に よる 事故を 構造的に 排除しています
成功要因
- リバースエンジニアリング
- 仕様書が
乏しい 現行アプリを 画面単位で 読み解き、 機能の 根拠を 社内で 説明できる 状態に 戻しました。 - Inertiaに
よる 結合 - InertiaJSで
Laravel側ロジックと React側UIを 密結合させ、 SPA体験と サーバ起点の 分かりやすさを 両立しました。 - TypeScript型での
退行防止 - API入出力を
TypeScriptで 型固定し、 修正の たびに 別箇所が 壊れる 状況を 構造的に 解消しました。 - 再現可能な
開発環境 - Dockerで
ローカル〜本番の 差異を 抑え、 調査と 修正の 往復コストを 下げました。
ソリューション
InertiaJS を