#Makers Chitter
##Makers Academy | Week 7 | Challenge
##Table of Contents
- Screenshots
- General Description
- Guidelines
- See it Live on Heroku
- How to Install
- Browsers
- Testing
- License
##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:
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.