ACD - Backend Test
Using the provided application add the following features:
-
Authentication. Using shield. Make sure to add a
current_user
method to roda. Hook it into the login component. Make sure you can't access the root url without being logged in. -
Registration. Hook this into the login component and make sure it saves to the
sqlite3
database using sequel. -
Tasks. Ability to add/remove and mark tasks as read for each user, saving to the database. Make sure to add a datepicker to the due date field.
-
Lists. (Each user should be able to view other users todo lists but NOT have permission to edit/delete tasks.
-
Bonus. Make an API. Display all users and the task count. Display a single user and all their tasks.
Please use RSPEC to create tests
To install please run make install
and then make
to start the server.
Running Tests
For run the test you must create a file named .env.test and have a test.db file
#.env.test
DATABASE_URL=sqlite://test.db
Then run: RACK_ENV=test rake db:refresh; RACK_ENV=test rake db:seed; rspec spec
Other Useful Documentation: