This is the final project from The Odin Project's Ruby on Rails curriculum.
The original project can be found here: Building Facebook
The Ruby on Rails curriculum and course framework can be found HERE.
- PostgreSQL Database
- 32 Tests using RSpec, Capybara, and FactoryBot
- Styled with custom CSS and Bootstrap CSS
- Uses action mailer to send new users a welcome email.
- Uses Devise gem to handle user sessions, registrations, and authentication
- Seeds 20 fake users using the Faker gem
- Uses Gravatar to handle default avatars
- Demo@test.com account comes preloaded with:
- An avatar
- 5 friends
- 5 friend requests
- 10 strangers
- Each user has 1-3 posts.
- Uses Turbo Frames
- The middle column of the holy grail layout is constantly being replaced with other Turbo Frames
- Editing a post replaces the content section with a turbo framed text box
- Posts have many features. They can be:
- Created
- Liked
- Commented on
- Edited
- Deleted
- The like model makes use of a polymorphic association (likeable)
- Posts and comments are both likeable
- Every user has their own profile. A profile contains:
- The user's avatar
- Links to view the user's posts, friends, and liked posts
- 4 optional information fields: location, education, occupation, and birthday
- A feed of that user's previous posts
- Users can edit their own profile. They can update:
- Their user avatar by uploading an image from their local machine using active storage
- Their name and four other optional information fields
- There are 3 tabs related to friendships:
- Friend Requests: displays who has sent you a friend request
- Find friends: displays strangers and users who have sent you a friend request
- My friends: displays friends that you have made. You can also unfriend friends here.
- Users can also view their own posts and posts that they've
- Uses images from the asset pipeline
Chipper Log In Page Timeline Create, edit, delete, and like posts Comment on posts and like comments View user profiles Edit your own profile Find friends you haven't connected with yet Friend requests My friends Passing Tests