- 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)
- Add a migration for the columns mentioned above
- Tests the migration on local and also record the time it takes to run locally.
- Add form to create new user and make persist it in the db table. Password will be encrypted using SHA512.
- Do basic validation like required
- Enhance validation to accept only email in email field, accept only alphabets (not numbers) for first name and last name.
- List users in a master detail tabular format
- Create the listing page with id, email, first name, last name, created at, actions column as row for each user
- Create the detail page with id, email, first name, last name, created at, updated at in a detail table format
- Add pagination to users with fixed 10 users per page
- Edit users with the same form and validation as create, will update only one user
- Add edit link in the users listing page
- Adjust validation to make password optional
- Passwords will be updated only if provided, if empty old password will not be changed
- Delete user will delete single user from db
- Add delete link in the user listing page and delete button in the user detail page, both should confirm before deleting
- After deleting from user detail page, user will be redirected to user listing page with a flash message on top
- User will not be able to delete self
- Roles are not taken into consideration for this ticket, it is part of PX-7
- Front end user login and registration is part of PX-8