📚
現在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.i18n と rails-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