Skip to content

Instantly share code, notes, and snippets.

@geshan
Last active January 5, 2021 23:38
Show Gist options
  • Save geshan/3efdf863612f540691de to your computer and use it in GitHub Desktop.
Save geshan/3efdf863612f540691de to your computer and use it in GitHub Desktop.
user system ticket

Scope and steps for user system ticket - PX-4

Proposed steps to develop the ticket:

  1. Add new table to the main db users table, with needed columns (id, email, password, first_name, last_name, restore_key, created_at, updated_at)
  2. Add a migration for the columns mentioned above
  3. Tests the migration on local and also record the time it takes to run locally.
  4. Add form to create new user and make persist it in the db table. Password will be encrypted using SHA512.
  5. Do basic validation like required
  6. Enhance validation to accept only email in email field, accept only alphabets (not numbers) for first name and last name.
  7. List users in a master detail tabular format
  8. Create the listing page with id, email, first name, last name, created at, actions column as row for each user
  9. Create the detail page with id, email, first name, last name, created at, updated at in a detail table format
  10. Add pagination to users with fixed 10 users per page
  11. Edit users with the same form and validation as create, will update only one user
  12. Add edit link in the users listing page
  13. Adjust validation to make password optional
  14. Passwords will be updated only if provided, if empty old password will not be changed
  15. Delete user will delete single user from db
  16. Add delete link in the user listing page and delete button in the user detail page, both should confirm before deleting
  17. After deleting from user detail page, user will be redirected to user listing page with a flash message on top

Other consideration

  1. User will not be able to delete self
  2. Roles are not taken into consideration for this ticket, it is part of PX-7
  3. Front end user login and registration is part of PX-8
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment