スクール模擬案件完成
Webアプリケーション
SNSアプリ
Firebase AuthenticationとLaravel APIを連携したSNSアプリです。投稿・コメント・いいねの操作を、NuxtのフロントエンドとREST APIで構成しました。

制作の背景
Firebase AuthenticationとLaravelを連携した認証処理、フロントエンドとバックエンドを分離したAPI設計、Feature Testの実装を学ぶために制作したスクール模擬案件です。
主な実装内容
- Firebase Authenticationを利用した新規登録・ログイン
- Firebase IDトークンをLaravel APIで検証する認証連携
- 投稿の一覧表示・作成・削除
- 投稿へのコメント投稿・一覧表示
- いいねの追加・解除と、自分の投稿へのいいねを禁止する制御
- ログイン状態を確認する認証チェック
設計上の課題と対応
課題
- Firebase Authenticationで発行されるIDトークンと、Laravel側のユーザー情報を連携すること
- 投稿・コメント・いいねのデータ構造と、操作権限をAPIとして整理すること
対応
- Laravel側でFirebase IDトークンを検証し、Firebase UIDを用いてアプリケーションのユーザー情報を対応付ける構成にした
- 投稿・コメント・いいねをREST APIとして分離し、フロントエンドからAPI経由で操作する構成にした
- 外部認証はモックを用いたFeature Testで確認し、モデル間のリレーションはUnit Testで確認した
品質確認
- Feature Testで、投稿の作成・一覧取得・作成者による削除を確認
- Feature Testで、コメントの作成・一覧取得、いいねの追加・解除と操作制御を確認
- Feature Testで、Firebase認証情報とアプリケーションのユーザー情報の対応付けをモックで確認
- Unit Testで、ユーザー・投稿・コメント・いいねのリレーションを確認