制作実績一覧に戻る
スクール模擬案件完成

Webアプリケーション

SNSアプリ

Firebase AuthenticationとLaravel APIを連携したSNSアプリです。投稿・コメント・いいねの操作を、NuxtのフロントエンドとREST APIで構成しました。

SNSアプリのホーム画面。Sora、Shinya、Haruka、Yukiによる投稿一覧と、投稿ごとのいいね数、コメント詳細を開くボタンが表示されている。

制作の背景

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で、ユーザー・投稿・コメント・いいねのリレーションを確認