Tubeソムリエ

Youtubeの動画プレイリスト共有サービス
2023
PHP
TypeScript
Next.js
Tailwind CSS
php-jwt
PHPMailer
Framer Motion
Chakra UI
MySQL
YouTube Data API

コンテンツ

Youtubeのプレイリスト共有サービス 作成したプレイリストを公開・非公開に制限をかけることもでき、プレイリストを有料販売もできるサービスです。

制作にあたって

YoutubeDataAPIを使用したサービスを構築したく作成しました。
動画の埋め込みや営利目的でのAPI利用を目的としましたが、規約から反することとなるため一般公開はしませんでした。
そのためstripeを組み込むところまで実装したかったですが断念しました。
ユーザ認証やプレイリスト作成、共有などサービス自体の仕組みを作成。
ユーザ認証については、初めてステートレスな認証処理を施しました。

これまで、ステートフルな認証処理やサードパーティのOAuth認証処理を実装したことがありましたが、
自前でのステートレスなトークンベースの認証を実装したことがありませんでした。
フロントエンドを軽量にし、バックエンドをAPI化した構成にすることが増えたため、
JWTを利用したトークンベースの認証を実装しました。

学習も兼ねての実装だったため、処理を整理したく図やブログにまとめました。

ER図は上記のように作成しました。
拡張性を持たせるため、マッピングテーブルを多く設けました。