Book Face is a social media application built with Ruby on Rails. It is inspired by popular social media platforms, featuring core functionalities such as user authentication, profiles, posts, adding friends, real time chatting, liking, and commenting.
You can see a live version of the app here. Please note that the app is hosted on a free tier and may take a moment to load if it has been inactive.
- User Authentication: Implemented with Devise gem. Users must sign in to see anything except the sign-in page. User can also use google sign in.
- User Profiles: Users can create a profile with a profile picture. The profile page contains their profile information, profile photo, and posts.
- Friends: Users can send friend requests to other users.
- Posts: Users can create posts with or without adding images. Each post displays the content, author, comments, and likes.
- Likes and Comments: Users can like posts and comment on them.
- Chatting: Users can chat only with their added friends in real time.
- Newsfeed: An index page for posts shows all recent posts from the current user and users they are friends with.
- User Index: An index page for users shows all users and buttons for sending friend requests and cancel request if they are not already in the friend list. User can also accept or reject friend requests.
- Email Notifications: Action mailer sends a welcome email when a new user signs up. Users can also reset their password.
- Ruby on Rails
- Hotwire
- PostgreSQL
- Devise
- Action Cable
- Action Mailer
- Active Storage
- TailwindCSS
- Redis
- Cloudinary
These instructions will get you a copy of the project up and running on your local machine for development and testing purposes.
You need to have Ruby and Rails installed on your machine. See this guide for instructions on setting up Rails.
- Clone the repository:
git clone https://github.com/DiptoSarkar182/book_face.git
- Navigate into the project directory:
cd book_face
- Install the dependencies:
bundle install
- Set up the database:
rails db:create db:migrate
- Start the server:
rails server
- Visit
http://localhost:3000/
in your browser to access the application.