Building the clone
Now that we are done with the discussions on Twitter, its features and also the design of the clone, let's roll up our sleeves and get into the act of building it.
Modeling the data
The data model for Tweetclone is quite simple; it consists of two major classes—User
and Status
,
and two minor classes that describe the relationships—Relationship
and Mention
.
The Relationship
class defines the many-to-many relationship between users, that is it defines who follows whom. The Mention
class defines the many-to-many relationship between users and statuses (aka tweets). Each status can mention one or more users and each user can be mentioned in one or more statuses. A user can have one or more statuses, while only one user can be the recipient of a status. In addition to that, because we're modeling direct messages with statuses, a user can also have one or more direct messages.
In Tweetclone we have placed all the models in a single file called models.rb
.
User
Let's define the User...