0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【初心者プログラマー】SaveData開発日記 #3【どんな技術を使う?】

Posted at

前回のあらすじ: 機能を決めた


作成予定のアプリに必要そうな技術を抜き出してみました。
本格的になってきましたね。

主な機能実装
- Rails:7.2

データの保存先
- DB:PostgreSQL(NEON)

アプリ化するにあたって必要な作業
- デプロイ先:Render

ユーザー認証機能
- 認証:Devise

そのうちやりたい
- グラフ表示:Chart.js

プラスアルファでよりユーザーライクに
- フロント:Rails 標準 + Hotwire(予定)

それぞれの選定理由を抜き出してみた

Ruby on Rails7.2

選定理由

このアプリのやりたいことが

  1. ユーザー登録
  2. 生年を入力
  3. 遊んだゲームを登録
  4. 「何歳のときに遊んだか」「印象に残った感情」などを記録
  5. 年齢軸の年表として可視化
  6. 同じゲームを遊んだ他ユーザーの年齢分布を閲覧

なのでこの
記事を作る 登録する 削除する 編集する そしてそれを閲覧できる
(CLUD)

これらを簡単に実装するなら
Railsが一番だと思いました。

Ruby On Railsってなんだば?!.png

その他、
ユーザー認証機能: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にしてみます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?