改善内容
Gemini 3.1 proと相談をしながら現状の未実装な部分をどの順番で実装するか整理し、 docs/todo-2026-03-24.md にまとめた。以下はその項目
-
- アーキテクチャと責務の分離(リファクタリング)
-
src/App.tsxのコード量が多いため、整理して分散
-
- TypeScriptの型定義の厳格化
- anyを使うのはよくない
-
- 入力値のバリデーションとUX向上
- 入力の値を検証(個人用なので優先度は低いが、大切。知識が身に尽くし、不特定多数が使うようにシフトした場合の予防策にもなる)
-
- エラーハンドリングの強化
- 外部通信(Firebase API)の失敗時におけるユーザーへのフィードバックを改善
- Firebaseのerrorを日本語に変換して、日本人でも使いやすいように
-
- テスト環境の導入
- ユニットテストの実装
-
- CD(継続的インテグレーション・デプロイ)の導入
- 事前に.envファイルがあれば、GitHub Secretsに.envとFirebaseTokenを入力と、.ymlファイル一枚用意するだけで、比較的楽に導入できた。
- GitHub Secretsは、作った本人ですら上書きか消去しかできないため、パブリックリポジトリでも安全(とされている)。また、入力後すぐにデータを暗号化しているらしい
- これまでターミナルでFirebaseのHostingによるサイトに手動でデプロイしていたなかで、CI/CDを実装したことでGitHubにpushするだけでデプロイが可能になった。