Ruby - Postgresql - Rspec - Sinatra - Capybara - ActionMailer - Bcrypt
Install Postgresql
$ git clone https://github.com/jbropho/chitter-challenge
$ cd chitter-challenge
$ bundle
$ rake
$ rackup
visit localhost:9292/register
testing:
$ rspec
To enable email notifications
setup temporary environment variables
$ export CHITTER_EMAIL=GMAIL_ADDRESS
$ export CHITTER_PASSWORD=GMAIL_PASSWORD
(to use a different email service, modify the smtp parameters in lib/mailer.rb)
To use the mailer service, register and sign-in with a second user account and add the username of the account associated with your email address to the "username" field of the input form found at /posts/new. You should receive an email shortly after creating the post.
I had enjoyed building a bookmark manager without using an ORM during the week at Makers Academy and I decided it would be instructive to take this opportunity to build an authentication system without the use of a framework. I was also very keen to reach the end of the challenge and send email notifications to tagged users.
- Built an authentication system from scratch, storing a hashed version of user passwords via the bcrypt gem
- Created an email notification system by implementing ActiveMailer
- Improve security by salting passwords
- DRY out feature tests
- Use the active view gem to display how long ago posts were made rather than when they were made
- Practice effective design of restful routes and learn to better anticipate "unhappy paths" and edge cases in my applications