サービス名
Otofile(オトファイル)
個人制作
URL
https://otofile.net
ソースコード
https://github.com/kohei-web/otofile
システム構成
フロントエンド / HTML, CSS (SASS), JS (jQuery)
バックエンド / Ruby 2.6.5 (Rails 5.2.4), PostgreSQL, YouTube API
サーバー / Heroku
ストレージ / AWS S3
概要
音楽に特化したCRAD型サービス。
YouTube動画や曲、写真、音楽イベントなどをシェアできる。
音楽好き同士の繋がりを強めてスキをシェアすることで音楽の世界を広げることが目的。
機能
・会員登録
・動画、画像、テキスト投稿
・フォロー
・いいね
・コメント、返信
・タイムライン
・タイムライン上の音楽を自動再生
・いいね数ランキング
・投稿、ユーザー、プロフィール検索
着想
音楽好きの集まりで好きな動画(MV)をシェアしていたとき
「リアルタイムでシェアできる場が欲しい」
「社会人になってから新しい音楽に触れる機会が少なくなった、若者の流行り曲も知りたい」
という意見から着想を得た。
ユーザーごとのバックグランドも知ることができれば、より音楽の世界が広がると考え、制作に至った。
苦戦ポイント
・外部サービス(特に動画)の読み込み時間が長くなり、ユーザビリティが低くなる
→ “render_async”などのGemを使い非同期に処理することで表示の遅れを回避した
・プロフィール(一対多)のワード検索からユーザーを表示する処理
→ Profileテーブルを外部結合して検索処理
こだわり
・タイムライン上の投稿に動画・曲が含まれる場合、自動で再生リストを作成して再生(YouTube API使用)
・投稿表示のDBアクセスにおいて、ページネーションし、無限スクロール表示することで不必要なアクセスを避けて表示速度を向上させた
・ユーザーの繋がりを増やすために「ランダム検索」を実装
・いいね、コメント、返信を非同期(ajax)で実装
制作期間
2ヶ月