Quickstart | Running Tests | Running Acebook | Design and Features | Technologies | Team Rex
Our project is deployed on Heroku here.
A fullstack social media clone web application that demonstrates core functionality of Facebook. Developed using Ruby on Rails with a PostgreSQL database. Users are able to signup, make posts on the main newsfeed, add posts to individual users feeds, make comments on posts, add friends amongst other features. The timeframe for this project was 2 weeks.
First, clone this repository. Then:
Databases
$ brew install postgresql
$ brew services start postgresql
$ psql postgres
$ bundle exec rspec # Run the tests to ensure it works
$ rails s #Start the server at localhost:3000
$ Run rails_best_practices in root folder of app
from root folder, run the following command
$ rspec
from root folder, run the following command
$ bin/rails server
In your browser, navigate to http://localhost:3000/
It is also running on Heroku here.
As a user
So that I can use Acebook
I would like to sign up
As a user
So I can use Acebook again
I would like to be able to login
As a developer
to increase security
I want users to have passwords between 6-10 characters
As a user
So that I can communicate my thoughts
I want to make a post
As a user
So I can style my posts
I want to linebreaks to appear where I put them in my posts
As a user
So that I can correct my mistakes
I want to edit my posts
As a user
So that I can hide my thoughts
I want to delete my posts
As a user
So that I can discuss my friends posts
I want to be able to comment on posts
As a user
So that I can correct spelling mistakes \in my comments
I want to edit my comments
As a user
So that I can take comments down
I want to delete my comments
As a user
So i can appreciate others posts
I want to be able to like posts
As a developer
To make the conversation smooth
I want the page to stay reload with the comments visible after they're posted
As a user
So i can see how popular a post is
I want to see how many likes it has
As a developer
So that likes accurately portray popularity
Users should only be able to like a post once
As a user
So that the page isnt too busy
I want to have comments on a dropdown menu
As a user
So I can find my friends
I want to be able to click through to their profile
As a user
So that I keep up with my friends
I want to be able to add friends
As a user
So that I can talk to my friends
I want to be able to post on their walls
As a user
So that I can stop using Acebook
I would like to be able to log out
As a developer
So I can provide easter eggs \for fellow developers
I want to implement the Konami code
As a developer
So I can celebrate with my team
I want the easter egg to be associated with the team rex logo
Area | Technology |
---|---|
Frameworks | Ruby on Rails |
Languages | Ruby, Javascript (jQuery), HTML5, CSS3 |
Database | PostgreSQL |
CI/CD | Travis |
Hosting | Heroku |
Testing and Coverage | RSpec, Capybara, Simplecov |
Requirements:
- We need it to be free.
- We need a hosted solution.
- We need it to help us, not hinder us.
We found that Travis met the requirements above and it came recommended by the CEO of rails alongside a straightforward setup process.
- Controller testing in Rails
- Rails Toolbox
- Rails Docs - Testing Controllers
- Adding likes
- Web development tools
Our wonderful team was made up of: