/acebook-team-rex

Template for the AceBook project

Primary LanguageRubyOtherNOASSERTION

AceBook

Build Status

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.

Quickstart

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

Running Tests

from root folder, run the following command

$ rspec 

Running Acebook

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.

Design and Features

Sign up

As a user
So that I can use Acebook
I would like to sign up

Process flow - sign up Sign up

Log in

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

Login

post on homepage

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

make a post

view posts

homepage post

edit post

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

edit post

edit post

Like & comment

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

like comment

View profile page & add friend

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

add friend add friend

Post on user profile

As a user
So that I can talk to my friends
I want to be able to post on their walls 

wall post

Log out

As a user
So that I can stop using Acebook
I would like to be able to log out

log out

Konami code

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

konami code

Technologies

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

Choice CI/CD Tool

Requirements:

  1. We need it to be free.
  2. We need a hosted solution.
  3. 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.

Resources

Team-Rex

Our wonderful team was made up of: