セールスチームがお客さんにプロダクトのデモをするための環境(デモ環境)を整備した。
課題
デモ環境では
- データの変更操作(追加、更新、削除)をすると画面にも反映される
- 変更したデータは簡易な操作でリセットできる
- 同時に複数人でデモをしても、お互いの変更に影響を受けない
- 本番の機能追加に簡易に追従できる
必要があった。
解決
- API サーバと通信を行う箇所を Repository 層に分離(前回)し、
- デモ環境用の Repository を別に作る
- ビルド時に環境変数で使う Repository を切り替える
として解決した。(コードは Nuxt.js で環境によって使う Repository を切り替える - nomnel を参照)
これで全ての必要を満たせる。
次は2つの Repository のインターフェースが同じことを保証するために TypeScript を導入する予定。