/chitter

Makers Academy | Week 7 | Challenge

Primary LanguageRuby

#Makers Chitter

##Makers Academy | Week 7 | Challenge

Code Climate

##Table of Contents

##Screenshots

Visit Sign up Compose a peep And post it

##General Description

This repo contians my answer to Week 7 Friday Challange as part of the course at Makers Academy.

The core of Makers Chitter was written over a weekend as an exercise in building an instant messaging web app for students at Makers Mcademy.

The app was written in Ruby according to TDD.

Tests were generated with Rspec & Capybara.

It was built with the Sinatra framework and utilizes Datamapper to access a PostgreSQL database.

It also implements bcrypt to securly store only the digests of users' passwords.

Update (21.8.14): parts of the app were re-written (mainly the front-side) to give it a nicer look, and a toggle-button was added which enables to display the list of peeps either according to the date of posting or the author's name.

Update (23.8.14): added a new jQuery-based popup window in the main page for the sign in functionality (replacing the previous separate sign in page). Updated feature tests to accommodate the changes.

##Guidelines

A summary of the guidlines for building the app were:

  • The app allows users who visit the website to view the various 'peeps' which were perviously posted.

  • In order to post peeps, however, users must register with the app.

  • Details of registered users and all their peeps are stored in a PostgreSQL database.

  • In terms of registration criteria, email addresses and usernames must be unique.

##See it Live on Heroku

A live version of the app can be found at:

Makers Chitter on Heroku

As I'm using Heroku's free hosting service, the app may take a bit of time to upload
(Heroku's giros take time to wake up...), so please be patient.

##How to Install

To install the apo locally, clone the repo and run:

$> ch chitter
$> bundle instsll
$> shotgun

Then open the browser of your choice and go to:

http://localhost:9393/

##Browsers

This app has been tested with and supports the following browsers (though it should hopefully look ok in other browsers as well):

  • Google Chrome (36.0)
  • Mozilla Firefox (31.0)
  • Apple Safari (7.0.5)

If the app doesn't look right in Safari (content is showing but without any css styling), this may be due to the security settings. To solve this, under 'Perferences > privacy settings', check if 'Block cookies' is set to 'Always' and if it does change it to 'from third parties and advertisers' (that's the default). In addition, click the 'Remove all website data' to clear the session cookies. After that, it should work as it intended.

##Testing

Tests were written with Rspec (2.14.8) & Capybara (2.3.0).

The tests cover both back-end logic and front-end functionality.

To run the tests in terminal:

$> cd chitter
$> rspec

##License

Released under the MIT license.