2.8 KiB
2.8 KiB
Feature: User Accounts & Profiles
Source: VSMS Functional Requirements v1.1, Section 2
Roles
There are two account types: Admin and Volunteer. Multiple Admin accounts are supported. Admins are not assigned to volunteer shifts.
Trainee is not a separate account type — it is a permission flag on a Volunteer account that blocks open shift claiming. All other Volunteer behaviour is identical.
Operational Roles
Assigned by Admin. A volunteer may hold multiple simultaneously. Displayed on schedule and calendar views.
- Behaviour Team
- Dog Log Monitor
- Dog Shelter Volunteer
- Trainee (mirrors the Trainee permission flag)
- Floater (covers open shifts; can also hold a recurring assigned shift)
Profile Data
| Field | Required | Notes |
|---|---|---|
| Full name | Yes | Editable by volunteer |
| Email address | Yes | Used for login and notifications |
| Phone number | No | Stored for reference; not used for notifications in MVP |
| Operational role(s) | — | Set/edited by Admin only |
| Notification preference | — | Email only in MVP; email + SMS future |
| Internal Admin notes | — | Admin-only; not visible to volunteer |
| Last login date | — | Visible to Admin |
| Completed shift count | — | System-tracked; used to inform Trainee promotion |
Volunteers can edit: name and phone number only.
Requirements
| FR ID | Requirement | Notes |
|---|---|---|
| FR-U01 | Admin creates all accounts. No self-registration. Admin sets name, email, operational role(s), and Trainee flag at creation. | |
| FR-U02 | On account creation, the system sends an invite email with an activation link. | Admin can resend if not yet activated. |
| FR-U03 | Login uses invite-based flow. Google Auth (OAuth) preferred if feasible; email/password with invite activation is the fallback. | No self-signup regardless of method. TBD: implementation team to decide. |
| FR-U04 | Admin can deactivate a volunteer at any time. Volunteer is locked out immediately. Past shift records are preserved; name displays as Name (inactive) on past shifts. Deactivated accounts are hidden from active schedule and user list views. |
|
| FR-U05 | Admin can promote a Trainee to full Volunteer (remove Trainee flag) at any time. Completed shift count is displayed on their profile to inform the decision. Conventional threshold is 2 shifts, but promotion is always a manual Admin action. Removing the flag immediately grants open shift claiming. | |
| FR-U06 | Admin can add, edit, and delete internal notes on any user profile. Notes are not visible to the volunteer. |
Open Decisions
- Authentication: Google Auth vs. email/password — implementation team to advise and recommend. (TBD)