rails new oobun \
--database=postgresql \
--css=tailwind \
--skip-test \
--no-skip-bundle
# 追加設定
# - Slim: Gemfile に gem 'slim-rails' 追加後 bundle install
# - RSpec: Gemfile に gem 'rspec-rails' 追加後 rails generate rspec:install採用技術
- データベース: PostgreSQL
- CSS フレームワーク: Tailwind CSS
- テンプレートエンジン: Slim
- テストフレームワーク: RSpec
コミットメッセージ・PR 方針
- コミットメッセージは日本語で記述する
- PR のタイトル・本文も日本語で記述する
- 理由: チーム内コミュニケーションを円滑にするため
- モデル名は一般的・堅実に(Thread / Post / Subscription)
- 文通らしさ・情緒は UI 文言で表現
- 将来の有料化・クローズド化を阻害しない設計
- チャット化しない(リアルタイム前提にしない)
- RESTful 設計を優先: 可能な限りリソースベースで表現し、Rails の CRUD に沿う
- 投稿の編集・削除は不可(将来検討)
- 通知機能なし(トップページで新着確認のみ)
- Thread は完全公開のみ(visibility = public 固定)
- Membership の role は writer のみ
- 画像アップロード機能なし
- OGP 画像は固定のアプリアイコンを使用
- Rails way に沿ったシンプルな実装
- Hotwire で部分更新・SPA 的な体験を実現
- 残り文字数表示(1,000文字を切ったら表示)
- モバイルフレンドリーなデザイン
- リアルタイム通信
- DM 機能
- 複雑な通知設計
- 有料決済
- 画像アップロード機能
- 投稿の編集・削除機能
- User 認証(Google OAuth)
- User 登録時に username 設定
- Thread CRUD(公開のみ、slug 対応、予約語チェック)
- Membership(position 対応、role は writer のみ)
- Post CRUD(show 含む、編集・削除なし、10,000文字制限)
- 交代制ロジック(position ベース) + スキップ機能
- RSS フィード(個別スレッド単位:
/:slug.rss) - トップページ(
/: 全体公開 Thread 一覧、最近更新順) - Thread 詳細ページ(
/:slug: Post 抜粋一覧、購読ボタン、RSS リンク) - Post 詳細ページ(
/:slug/:post_id: 全文表示、前後ナビ) - ユーザーページ(
/@username)
- Subscription 機能(購読/購読解除)
- 購読中 Thread 一覧(トップページ)
- ページネーション改善(Pagy gem 等)
- 検索機能(Thread タイトル・本文)
- OGP 対応(カスタム画像生成)
- 編集・削除機能の検討
- 下書き機能
- visibility の拡張(url_only, followers_only 等)