A lightweight (i.e. basic) Twitter clone that will allow users to post messages to a public stream, and make the API available as a JSON object
Find it at: serene-sea-5950.herokuapp.com/
Features:
- Users can sign up to the service
- Users can log in
- Users can log out
- Users can post peeps to the central stream
- Central stream displays peeps in chronological order
Outline:
- Users sign up with email, password, name and username
- Username and email are unique
- Peeps show the name of the maker and their user handle
- You don't have to be logged in to see the peeps
- You can only send a peep if you are logged in
End of phase 1 is this commit
One of the biggest complaints from users (i.e. me) about the phase 1 deployment was that the front end doesn't feel right. So the priorities for the weekend is:
- Skin the application (mainly css and html), recreating Twitter's somewhat prettier interface
- Make the whole front end work with Javascript and HandlebarsJS
- Ensure that we only serve one html from the server that will imitate the application
It would also be kind of cool for people to be able to steal all my peeps to embed in their own website. So I will also:
- Create a JSON API on the server and make the front end talk to that api
Production:
- Sinatra
- Sinatra-partial
- RackFlash3
Database:
- PostgreSQL
- DataMapper
- DM Postgres-adapter
- bcrypt
- JSON
- Database Cleaner
Testing:
- Cucumber
- Cucumber-Sinatra
- Capybara
- Capybara-Webkit
- RSpec
- Shotgun
$ bundle install
See ToDo.md
Phase 1:
-
Feature tests should not be touching the database - this was slowing down my tests, and is unnecessary. Try to ensure elements are as loosely coupled as possible
-
Security issue when identifying author of a peep using 'hidden' HMTL form field. Corrected by using
params.merge