1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ポートフォリオ(映画紹介サイト My Film)の説明

Last updated at Posted at 2024-10-02

開発したサービスについて

タイトル名:My Film

URL:https://myfilminfo.com/ (PC推奨)
GitHub:https://github.com/G1tHub20/my_film

サービス概要

レビューをしたり独自のタグをつけることで、オススメの映画を紹介できるサービス

なぜ作成したのか?

見たい映画を探す上で、関連するタグから検索することで直感的に映画を探すことができ、そのタグをユーザーが自由に設定できれば面白いのではないか、と思い作成しました。

画面イメージ

TOP(検索)画面

検索.png

一覧画面

一覧.png

詳細情報画面

詳細情報.png

レビュー登録画面

レビュー登録.png

レビュー編集画面

レビュー編集.png

開発期間

期間:4月~8月の約5カ月間
時間:概算で学習時間(70時間)、作成時間(130時間)合わせて200時間ほど費やしたと思います。
平日1時間。休日3時間。

動画学習サイトでLaravelを学習後、仕様を決めてサイトを作成しました。

学習方法

基本は独学で、MENTAというサービスでメンターを雇い、疑問解決や進捗管理をしていただきました。

学習教材

Udemyをメインに書籍も併用しながら学習を行いました。

機能一覧

映画データの登録

  • TMDb APIから映画データを取得しDBに登録

映画検索

  • タイトルやジャンル等の基本情報、またはタグから映画を検索

レビュー投稿

  • ユーザが映画のレビュー(評価、感想、タグ)を投稿

タグ登録

  • ユーザが映画に対し独自のタグをつける(レビュー登録/編集画面)

テーブル設計

ER図.png

技術・環境

フロントエンド

  • HTML / CSS / Tailwind CSS
  • JavaScript / Node.js

バックエンド

  • PHP 8.0
  • Laravel 9.5

データベース

  • MySQL

インフラ

AWS(EC2)

その他ツール

  • Visual Studio Code
  • Composer
  • GitHub
  • draw.io

工夫した点

映画データ作成の自動化

このサービスを作る上で映画データを大量に用意する必要がありました。
手打ちで入力できる量ではサービスのコンテンツ量が足りないため、映画のデータベースのAPIを探したところ「TMDb API」を知りました。
GuzzleHTTPクライアントを使いサーバー上でAPIからデータを取得し、DBに登録するシステム(コマンド)を作りました。

映画データの整形

APIで取得したデータをサービス上で表示するために整形する必要がありました。

  • 取得項目や値の形式を統一したい
     例)製作年:数値4桁、ジャンル:ジャンルID(数値)など
  • 1975年から2024年の各年に公開された映画を取得したい
  • 全18ジャンルそれぞれに該当する映画を1本以上含めたい
  • 映画1本につき、シーンの画像を2枚取得したい

上記を実現するために、試行錯誤し、DBのリレーションなど設計を考えながら作成しました。

タグによる検索

ジャンルや評価の高さだけでなく、「泣ける」「旅に出たくなる」といったタグを映画に付けることで、映画のイメージから直感的に映画を探せるのではないかと考えました。
そのタグをレビュー時にユーザーが独自のものを付けられる仕組みにすることで、ユーザーの感想や思いを反映した映画紹介サイトが実現できると考えました。

まとめ

実際にサービスを作成する過程で、データベース設計におけるリレーションの理解や、Laravelの基本的な使い方を学べたことは非常に有意義でした。
実際に手を動かして実装することで、より多くのことを吸収できたと感じたので、今後も積極的に実践を重ねていきたいと思います。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?