前回のあらすじ: 機能を決めた
作成予定のアプリに必要そうな技術を抜き出してみました。
本格的になってきましたね。
主な機能実装
- Rails:7.2
データの保存先
- DB:PostgreSQL(NEON)
アプリ化するにあたって必要な作業
- デプロイ先:Render
ユーザー認証機能
- 認証:Devise
そのうちやりたい
- グラフ表示:Chart.js
プラスアルファでよりユーザーライクに
- フロント:Rails 標準 + Hotwire(予定)
それぞれの選定理由を抜き出してみた
Ruby on Rails7.2
選定理由
このアプリのやりたいことが
- ユーザー登録
- 生年を入力
- 遊んだゲームを登録
- 「何歳のときに遊んだか」「印象に残った感情」などを記録
- 年齢軸の年表として可視化
- 同じゲームを遊んだ他ユーザーの年齢分布を閲覧
なのでこの
記事を作る 登録する 削除する 編集する そしてそれを閲覧できる
(CLUD)
これらを簡単に実装するなら
Railsが一番だと思いました。
その他、
ユーザー認証機能:Devise
そのうちやりたいMVP後の機能でグラフ表示:Chart.js
Hotwire:簡単にいい動きしてくれる 動的なアプリづくり
バージョン選定理由
1:安定しているから
以前Rails8でミニアプリを作った際にデプロイがエラーだらけで
全然うまくいかずアプリを作り切ることができませんでした。
その経験からRails7の環境で作ることにしました。
2:サポート関連
Rails7.1が気づいたらサポート終了していたので
何かあった時のためにRails7.2で最初から作ることにしました。
参考サイト
データの保存先 PostgreSQL(NEON)
選定理由
✅ 使わないと0円
✅ Railsとそのまま使える
✅ 壊れにくい設計
✅ 検証用DBを一瞬で作れる
Neon(PostgreSQL)って何?
「使った分だけお金がかかる PostgreSQL」
何もしないと勝手に止まるDB(=無駄金が出ない)
こっちはちゃっぴいに聞きました。
他のDBとどう違う?(一発比較)
① 普通のPostgreSQL(RDSなど)
🟥 サーバー代が常にかかる
🟥 管理が面倒
🟩 安定・企業向け
👉 Neonは「管理しなくていい版」
② MySQL系(PlanetScaleなど)
🟥 JOINや複雑な処理が苦手
🟥 Railsで制限にハマりがち
👉 Neon(Postgres)はRailsと相性がいい
③ Firebase / NoSQL
🟥 データ構造がゆるくて後で地獄
🟥 Railsと相性悪い
👉 Neonは「普通のDB」だから安心
デプロイ先:Render
選定理由
✅一度ミニアプリを作っていて経験がある
✅みんな使ってるから自分も使ってみよう()
というと怒られそうなので簡単に比較してみました。
デプロイ先比較
| サービス | 特徴 | 向いている人 |
|---|---|---|
| Railway | とにかく簡単・最短デプロイ | 初心者 / 個人開発 |
| Render | 安定・無料枠あり | 堅実に作りたい |
| Fly.io | 高速・本番構成 | 中級者以上 |
迷いましたがとりあえず慣れてるRenderにしてみます。
