DB設計

まずはDB設計から。といっても簡単に。Railsなら後から変更も楽に違いない(思い込み)。

┌──────────┐   ┌────────┐
│User        │n⇔n│Follow      │
│──────────│   │────────│
│名前、パスワード、 │   │user_id       │
│プロフィール、設定、│   │ followee_id  │
│などなど…     │   └────────┘
└──────────┘
  1
  ↓
  n
┌──────────┐
│Status       │
│──────────│
│user_id      │
│発言内容      │
└──────────┘

なんか崩れてるが心の目で見てください。

User:ユーザ情報を管理。ログイン等もこの情報をもとに行う。
Status: ユーザの発言を管理するテーブル。複数の発言が特定のユーザに属する(1:nの関係)
Follower: 特定のユーザがFollowしているユーザ(Follower)、あるいは逆にFollowされているユーザ(Followee)を関連づけるテーブル。


Railsでは普通全てのテーブルの各エントリにID (integer)をつけて管理するようなので、テーブル間の関連はそのIDで示します。


で、こんだけ書いておいて何ですが、まずはFollowerは抜きの、単なる独り言サイト(ユーザが独り言を書き込むだけのモノ)を作り、後からFollow機能を入れていくという方針にしようと思います。