Minimum Viable Product
myfacebook is a clone of Facebook built on Rails and Backbone. Users can:
- Create user account (sign up)
- Create sessions (log in)
- Create profile
- Upload user avatar
- View profiles
- Send Friend request
- Approve Friend
- Deny Friend
- Remove Friend
- View Friend profile
- Create profile posts
- View Friend's posts as Newsfeed
Phase 1: User Authentication, Profile Creation (~1 day)
I will implement user authentication in Rails based on the practices learned at App Academy. By the end of this phase, users will be able to create profiles using a simple text form in a Rails view. The most important part of this phase will be pushing the app to Heroku and ensuring that everything works before moving on to phase 2.
Phase 2: Viewing Profiles (~1 days)
I will add API routes to serve profile data as JSON, then add Backbone models and collections that fetch data from those routes. By the end of this phase, users will be able to update profiles and view profiles, inside the Backbone frontend.
Phase 3: Adding and Approving Friends (~3 days)
I will add friends, and present a user with a choice whether to approve or deny the pending request. Thereupon the authenticated user will be authorized to view the friend's profile. By default, a user's profile will be set to private.
Phase 4: User Feeds (~1-2 days)
I'll start by adding a
feed route that uses the
subscribed_profiles association to serve a list of profile posts ordered
chronologically. On the Backbone side, I'll make a
FeedShow view whose
collection fetches from the new route. Ultimately, this will be the page users
see after logging in.