📚

現在Railsで自作アプリを開発中。初期設計で考えたこと・詰まったことを整理してみる

に公開

はじめに

2024年〜2025年にかけて、自作のWebアプリをRuby on Railsで開発しています。
この記事では、初期段階で設計・環境構築・認証導入などで考えたことや、詰まった点を整理してみます。
将来的に振り返る自分用のメモも兼ねています。


なぜRailsで開発しているのか?

もともとPHPやNode.js(Express)を使っていたのですが、以下の理由からRailsに本腰を入れようと決めました。

  • 案件でメイン利用するということ
  • 学び直し&実践力の強化を図りたかった
  • 設計思想が明快で、個人開発にもチーム開発にも向いている
  • DockerやRSpec、CI/CDといったモダンな開発環境が整いやすい

初期設計でやったこと

MVP機能の整理

  • ログイン / 投稿 / コメント / 通知 といった機能を中心に、MVP(最小実用製品)を定義
  • 機能をA/B/Cランクに分類して、優先度をつけることでスコープを絞った

ER図の作成

  • draw.io を使って、User・Post・Comment・Notification などの関連を図に起こす
  • 実際のモデル作成前に構造を明確にしておくことで、後の混乱を回避

Gem選定

  • Devise(認証)
  • RSpec(テスト)
  • Tailwind CSS(UI)
  • SimpleForm(フォーム整形)
  • dotenv-rails(環境変数)

最初に詰まったポイント

1. Deviseのルーティングと日本語化

Deviseを導入した直後、ルーティング周りで混乱。
rails routes を確認しつつ、 devise_for の記述とパスの対応を確認して解決しました。

また、日本語化には devise.i18nrails-i18n の両方が必要でした。

# application.rb に以下を追加
config.i18n.default_locale = :ja

# 必要なgem
gem 'devise-i18n'
gem 'rails-i18n'

2. Tailwind導入時のPostCSSエラー

cssbundling-rails を導入した際、Tailwindの設定でPostCSS関連のエラーが発生。
Nodeのバージョンを16系に固定したことで解消しました。

# エラー時の対応例
rm -rf node_modules
npm install

今後やること・記事化予定
・RSpecによるモデルテストの書き始め
・コメント・タグ機能の設計方針
・GitHub Actionsでの自動テスト導入
・Docker化と環境変数の整理

おわりに

この開発ログシリーズでは、自分が手を動かしながら学んだことを、できるだけ「実体験ベース」で書いていきます。
RailsやWebアプリ開発に取り組んでいる方の参考になれば幸いです!

フォローしてもらえると、更新の励みになります。

プロフィール
元フリーランス → 現在は企業でWebエンジニアをしています。
PHP・Node.js経験あり。今はRuby on Railsをメインに開発&アウトプット中。

Discussion