Added a user model with all modules enabled on it
Configured devise
Removed redundant rspec features folder
Added omniauth gem for devise user omniauth authentication
Created a user factory

I defined a factory for users for later use in testing.
Added devise integration tests

I haven’t written them yet, but I’ve added the files for the devise
integration tests. I’m using a naming pattern similar to devise’s
naming of the modules themselves, except in the case of sessions,
passwords, and registrability for readability.
Written all necessary devise integration tests

I’ve written all the cucumber stories for devise integration testing
and a few steps for the actual testing.
Finished writing all devise integration tests

I’ve written all the cucumber stories and steps for devise integration
testing. The test’s don’t pass yet, so some tweeking is needed.
Modified devise views

I modified the devise views to meet our spec, and I modified the signed
in and signed out step tests to more properly test integration.
Installed Simple Forms

I installed simple forms to allow us to edit the user registration and
session forms to comply with tests.
Modified the users factory

I modified the users factory to properly add and email attribute and
fill out sign up forms correctly in integration testing.
Fixed spelling and other mistakes in integration testing

Just some spelling mistakes
Added a root route

I added a root route to the config.
Made some config changes

I switched development mail delivery to testing mode to prevent smtp
connectivity errors while developing, and I added a line in
application.rb to be compliant with Rails 4
Added Login and Logout to views

I added a login and logout link to the applicaiton layout and removed
an old erb file that has since been replaced with a haml file.
Added username presence validation

I added username presence validation to prevent blank usernames.
Added email to devise sanitized parameters

I added the email parameter to the devise sanitized parameters to fix a
bug with sign up.
Fixed a improperly written user step

I edited a user step that wasn’t properly testing if users were locked
out so it’s corresponding tests could pass.
Changed devise locales

I changed the invalid and not_found_in_database messages to reflect an
incorrect username or password rather than email. This does allow for
user enumeration, which is a security concern, but most likely won’t be
an issue for us, considering that our users will have publicly visible
accounts.
Cleaned up previous change to user steps

See the previous commit to this line.