This is a simple pickups app to allow users to register, submit pickups, and see all of their submitted pickups.
- Make sure you have version 3.1.2 of ruby. You can user
rbenv
,asdf
, or a similar version manager to keep this version of ruby isolated to this project. - Make sure you have Postgres installed and available.
- If this is a Windows machine, you will need to add the
tzinfo-data
gem toGemfile
beforebundle install
, since I wasn't expecting this to run in a Windows environment. - In the
pickup-app
directory dobundle install
to install the project gems. - Do
bin/rails s
to start the server. - Navigate to
htpp://localhost:3000.
- web app: Rails
- database: PostgreSQL
- test framework: rspec
- test factories: factorybot
- user logins: passwordless
- email delivery: ActionMailer, letter_opener (dev)
- Setup a minimal version of Rails with these core resources.
- Create user model, using passwordless, that allows users to sign up and sign in.
- Create pickup model that belongs to user, with a date, status, and location.
- Date and location are required.
- Status defaults to initial value.
- Status will be an enum with values of {submitted: 0, accepted: 1, in_progress: 2, completed: 3}
- Assume that admin users will have to use the console to change pickup statuses, since that's out of scope for these stories and can be built later.
- Add model test so that users can not submit a new pickup in the past.
- Add feature test for users to only be able to view their own pickups.
- Add Bootstrap and some basic styling.
- Add a navbar to the layout
- Polish UI so that uses can submit a pickup and view all of the pickups they've submitted.
- Write up a README for how to run the application.
- Nice to have, but probably out of scope: email the user whenever the status of one of their pickups changes so they don't have to login to check.
I did not get to the last step.