Our Channel Studio - テーマ別YouTubeプレイリスト共有プラットフォーム
ユーザーが自分だけのテーマでYouTube動画をキュレーションし、プレイリストとして共有できるプラットフォームを開発しました。好きな動画を集めてチャンネルを作り、他のユーザーと共有したり、共同編集したりできる新しい動画体験を提供します。
プロジェクト概要
- テーマ別YouTubeプレイリスト作成・共有
- 柔軟な公開設定・編集権限管理
- リアルタイム連続再生機能
- ソーシャル機能(フォロー・いいね)
依頼者の目指した目標と解決したい課題
YouTubeには膨大な動画がありますが、「自分のテーマで動画をまとめて楽しむ」ことが難しい状況でした。YouTubeの公式プレイリストは機能が限定的で、他のユーザーとの共同編集や、限定公開での共有に制限がありました。また、テーマに沿った動画キュレーションを通じて、新しい動画発見の体験を提供する場がありませんでした。
開発したシステムの特徴
このプラットフォームは、ユーザーが自由にテーマを決めてチャンネルを作成し、柔軟に管理できるよう設計されています。主な機能として:
- チャンネル作成: テーマ、カテゴリ、説明を設定し、独自のチャンネルを構築
- 柔軟な公開設定:
- 公開: 誰でも閲覧可能
- 限定公開: 指定ユーザーのみ閲覧可能
- 動画登録権限:
- 自分のみ
- 指定したユーザー
- 誰でも登録可能(UGCチャンネル)
- 連続再生: プレイリストの動画を順番に自動再生
- ドラッグ&ドロップ: 動画の順序を直感的に変更
- ソーシャル機能: チャンネルフォロー、動画いいね、ユーザーフォロー
- 検索・探索: カテゴリ、タグ、キーワードでチャンネル検索
技術的背景
Ruby on Rails 8とTurboを活用し、ページ遷移なしでスムーズな操作感を実現しました。YouTube Data APIと連携し、動画情報を自動取得。ドラッグ&ドロップ機能はStimulusコントローラーで実装し、直感的なUI/UXを提供しています。
複雑な権限管理(閲覧権限、編集権限)をRailsのポリシーパターンで実装し、安全かつ柔軟なアクセス制御を実現。RSpecによる包括的なテスト(モデル、システムテスト)により、高品質なコードベースを維持しています。
解決された問題
このプラットフォームにより、ユーザーは自分だけのテーマで動画コレクションを作成し、友人や同じ興味を持つ人と共有できるようになりました。共同編集機能により、グループでプレイリストを育てる楽しさも生まれました。公開チャンネルを通じて、新しい動画との出会いも創出されています。
チーム構成
- (KW) プロジェクトマネージャー
- (KW) バックエンドエンジニア×2
- (KW) フロントエンドエンジニア
- (KW) UIデザイナー
(KW) はKaito Wingsが担当
プロジェクト期間
- 要件定義・設計 - 2ヶ月
- 開発・テスト - 5ヶ月
- ベータテスト - 1ヶ月
- 正式リリース準備 - 1ヶ月
システム構成
- Ruby on Rails 8 / PostgreSQL
- Turbo / Turbo Streams
- Tailwind CSS / Stimulus.js
- YouTube Data API
- ActiveStorage (S3)
- Fly.io (ホスティング)