The aim of this project was to work as a team to build a clone of Facebook. We used Ruby on Rails, PostgreSQL, Bootstrap, HTML and CSS.
Tested using RSpec and Capybara.
Deployed to Heroku with continuous integration implemented: https://acebook-production.herokuapp.com/ (currently old images are not displaying due to being stored locally on heroku).
> git clone https://github.com/AlfonsoGhislieri/acebook-rails-template-simple.git
> cd acebook-rails-template-simple
> bundle install
> bin/rails db:create
> bin/rails db:migrate
> bundle exec rspec # Run the tests to ensure it works
> bin/rails server # Start the server at localhost:3000
If you don't have Node.js installed yet, you might run into this error when running rspec:
ExecJS::RuntimeUnavailable:
Could not find a JavaScript runtime. See https://github.com/rails/execjs for a list of available runtimes.
Rails requires a Javascript runtime to work. The easiest way is to install Node by running brew install node
- and then run bundle exec rspec
again
Tasks can be seen via our trello board. https://trello.com/b/40IbAHuD/acebooktbc
- Users have many posts, comments, friendships and likes.
- Posts have many comments and likes.
- Users can sign up
- Users can log in/log out
- Users can make posts, both with images and text
- Users can make comments on posts
- Users can like a post
- Users can modify their profile information and upload an avatar
- Avatar displayed on posts and navbar
- Default avatar given to user on account creation
- User can send friend requests to other users
- Users can accept/reject friend requests
- Friends are displayed on home page
- User authentication checks to not let users delete or edit posts/comments of others