過去にOn The Tableという写真共有サービスを作ったことがある。
ほぼユーザーはいない状態で約1年ほど運営してきたが、色々とコストが辛くなってきたのでいい加減クローズしようと思う。

完全に無かったことにしてしまうのも勿体ない気がするので、ここに思い出としてまとめておく。

サービスを作った背景

以前は非Web業界でJavaを触っていたが、Web業界へ転身しようと思いRails周りを独学。

その最後の成果物としてこのサービスを作った。

サービス概要

ざっくりでまとめるなら「Web版Instagram風アプリ」。
当時ハマっていたテーブルフォトというジャンルだけの写真を集めたくて、「On The Table」と名付けた。


以下、画面一覧。似たような画面は省略した。

トップ

OnTheTableのトップ画面

ユーザー登録/ログイン

OnTheTableのアカウント登録画面

投稿/プロフィール編集/ユーザー情報編集

OnTheTableのプロフィール設定画面

投稿一覧/ユーザーごとの投稿一覧

OnTheTableのユーザーページ

投稿詳細/いいね

OnTheTableの投稿詳細画面

通知

OnTheTableの通知画面

ヘルプ

OnTheTableのヘルプ画面

利用規約/プライバシーポリシー

OnTheTableの利用規約画面

アプリケーション側で使った技術

  • Rails(5.1)
  • bootstrap
  • jQuery

主要なgem

  • devise
  • CarrieWave
  • kaminari
  • Minitest

サーバー構成

成果物を残すという目的であれば、herokuでサクッとデプロイすればよかったのだが、何故かVPSを借りてサーバー構築した。

こんな機会でも無ければ中々触ってみることもないと思うので、経験としてはよかった。

ConoHa VPS

支払い方法がチャージ制のため、どう転んでもクラウド破産にはならない。

ConoHa DBサーバー

セキュリティ的にDBサーバーは切り離しておこうと思ったが、自分で構築するのも面倒。

VPSと同じConoHaにDBサーバーのサービスがあったため、こちらを利用した。DBはMariaDB。

ConoHa オブジェクトストレージ

ユーザーがアップロードする画像はConoHaのオブジェクトストレージに置いた。

CentOS7

一番情報が多そうだと感じたため選択。

Nginx / Puma

この辺りの設定が一番大変だった。

SendGrid

アカウントの有効化、パスワードを忘れた時のユーザー情報再設定などでメールを送る機能があり、SendGridというメール送信サービスを使って配信した。


ユーザー目線で見るとチープなサービスだが、全て初めての経験ばかりだったので非常に大変だった。

残念ながらほとんど使われることは無かったが、良い経験になったと思う。

また別のサービスづくりにもチャレンジしたい。