Skip to content

samover/chitter

This branch is 42 commits ahead of, 69 commits behind makersacademy/chitter-challenge:main.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

2c5c72c · Jan 11, 2016

History

85 Commits
Nov 9, 2015
Nov 9, 2015
Nov 9, 2015
Apr 9, 2015
Apr 9, 2015
Sep 25, 2015
Nov 9, 2015
Apr 9, 2015
Nov 9, 2015
Nov 8, 2015
Jan 11, 2016
Nov 9, 2015
Nov 7, 2015
Sep 25, 2015
Sep 25, 2015

Repository files navigation

Build StatusCoverage Status Chitter Challenge

Chitter is a weekend project for Makers Academy that uses Sinatra and postgresql database (Datamapper) functionality. It consists of creating a little Twitter clone that will allow the users to post messages to a public stream.

Here is a working example.

Approach

As usual, the approach is test driven (see requested features) using Rspec and Capybara. It follows a rigidly Red-Green-Refactor cycle to keep the codebase DRY and strive for a MVP. Following sound design principles, Sinatra is set up in modular style.

Most work went into implementing a user management system with password encryption (BCrypt). As it stands, users can sign up, log in, sign out and request a password reset. The sending of an email token still has to be implemented.

This is the first time I did some front end, so the eyecandy is basically fit for a laptop screen. Smaller or bigger screens are not very happy :-)

The technologies used are:

Features

As a Maker
So that I can post messages on Chitter as me
I want to sign up for Chitter

As a Maker
So that I can post messages on Chitter as me
I want to log in to Chitter

As a Maker
So that I can avoid others posting messages on Chitter as me
I want to log out of Chitter

As a Maker
So that I can let people know what I am doing  
I want to post a message (peep) to chitter

As a maker
So that I can see what others are saying  
I want to see all peeps in reverse chronological order

As a maker
So that I can better appreciate the context of a peep
I want to see the time at which it was made

As a Maker
So that I can indulge in setting horrible passwords and forgetting them
I want to be able to reset my password

Installation

Here is a working example.

Install as follows:

# clone the project
$ git clone https://github.com/samover/chitter-challenge

# install all the required gems
$ bundle

# create development and test databases
$ createdb chitter_development
$ createdb chitter_test

# setup the databases
$ rake db:dm_migrate
$ rake db:dm_migrate RACK_ENV=test

# check if everything is working fine
$ rspec

# launch the app and visit http://localhost:9292
$ rackup

About

Build a Twitter Clone!

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Ruby 58.4%
  • CSS 22.4%
  • HTML 19.2%