7.5 KiB
User Stories
Admin User Stories
Title: As an admin, I want to be able to login, so that I can manage the platform securely
Acceptance Criteria:
- I can access the login portal where an username/password is requested
- After entering the correct username/password and clicking a button I am logged in
- After entering the incorrect username/password an error message is displayed
Priority: High
Story Points: 3
Notes:
- The error message should not reveal if the user exist
- The error message should not reveal what information was incorrect
Title: As an admin, I want to be able to log out, so that nobody can use my credentials.
Acceptance Criteria:
- A logout button should exist which I can use to log out
- When the button is clicked my session is terminated
- After logout I am redirected back to the login page
Priority: Medium
Story Points: 2
Notes:
- Ensure that the session is terminated in the back-end
Title: As an admin, I want to be able to add a doctor to the portal, so that the doctor can us the profile.
Acceptance Criteria:
- There is a method of adding doctors to the portal
- I should be able to add the doctors information
- When the doctor is created a welcome email should be sent to the doctors email address
Priority: Medium
Story Points: 5
Notes:
- Ensure no duplicate doctors can be added
- An email is required
Title: As an admin, I want to be able to remove a doctor, so that it does not clutter the user interface.
Acceptance Criteria:
- Provide a Delete button on the doctors profile page
- When the button is pressed a confirmation dialog is shown
- When confirmed the doctor is removed from the system
Priority: Low
Story Points: 3
Notes:
- The Delete button should only be accessible for admins
- All data related to the doctor is also removed
Title: As an admin, I want to track user statistics, so that I can better anticipate the users needs in future development.
Acceptance Criteria:
- Provide a SQL Stored Procedure to provide a report of appointments / month / doctor
- Track usage statistics in the back-end and front-end
Priority: Low
Story Points: 5
Notes:
- No notes.
Patient User Stories
Title: As a patient, I want to view a list of available doctors without an account, so that I can explore options before registering.
Acceptance Criteria:
- Provide a we page where all doctors are listed
- The web page should be accessible without logging in
Priority: Medium
Story Points: 3
Notes:
- No additional notes.
Title: As a patient, I want to register, so that I can book an appointment.
Acceptance Criteria:
- Provide a button that takes the patient to the registration page
- The registration page should not require authentication
- The registration page allows the user to enter all his information
- When the registration page is submitted the user is directed to the login page
- Send a welcome email to user
Priority: High
Story Points: 5
Notes:
- Ensure that username is unique, and display an error message if it is not
- Ensure that the password conforms to our password standard
Title: As an patient, I want to be able to login, so that I can book and manage appointments securely
Acceptance Criteria:
- I can access the login portal where an username/password is requested
- After entering the correct username/password and clicking a button I am logged in
- After entering the incorrect username/password an error message is displayed
Priority: High
Story Points: 3
Notes:
- The error message should not reveal if the user exist
- The error message should not reveal what information was incorrect
Title: As a patient, I want to be able to log out, so that nobody can use my credentials.
Acceptance Criteria:
- A logout button should exist which I can use to log out
- When the button is clicked my session is terminated
- After logout I am redirected back to the login page
Priority: Medium
Story Points: 2
Notes:
- Ensure that the session is terminated in the back-end
Title: As a patient, I want to be able to book a hour long appointment, so that I can consult with a doctor about my issue.
Acceptance Criteria:
- Provide a button to book an appointment
- Display the available times the patient can select or allow the patient to select a time and duration himself
Priority: Medium
Story Points: 3
Notes:
- Ensure no double bookings for a doctor
- Ensure the bookings are limited to an hour
- Ensure the bookings are not made on weekends nor outside of working hours
Title: As a patient, I want to view my appointments, so that I can prepare accordingly.
Acceptance Criteria:
- Provide a page where all appointments for a patient is displayed
- The page should only be accessible when logged in
Priority: Low
Story Points: 3
Notes:
- No additional notes.
Doctor User Stories
Title: As a doctor, I want to be able to login, so that I can manage the platform securely
Acceptance Criteria:
- I can access the login portal where an username/password is requested
- After entering the correct username/password and clicking a button I am logged in
- After entering the incorrect username/password an error message is displayed
Priority: High
Story Points: 3
Notes:
- The error message should not reveal if the user exist
- The error message should not reveal what information was incorrect
Title: As a doctor, I want to be able to log out, so that nobody can use my credentials.
Acceptance Criteria:
- A logout button should exist which I can use to log out
- When the button is clicked my session is terminated
- After logout I am redirected back to the login page
Priority: Medium
Story Points: 2
Notes:
- Ensure that the session is terminated in the back-end
Title: As a doctor, I want to view my appointment calendar, so that I can stay organized and provide better service to my patients.
Acceptance Criteria:
- Provide a webpage with a calendar that displays all appointments
- The page should only be accessible when logged in as a doctor
- The page should allow me to see which patient is scheduled at what time
Priority: Medium
Story Points: 3
Notes:
- No additional info.
Title: As a doctor, I want to be able to mark myself as unavailable, so that patients cannot book appointments at those times.
Acceptance Criteria:
- Provide a way for me to mark myself unavailable in the booking calendar
- Patients should not be able to book times on the marked times
Priority: Medium
Story Points: 3
Notes:
- Weekends and outside of working hours should be automatically marked as unavailable
Title: As a doctor, I want to be able to provide specialization and contact information on my profile , so that my patients can better be prepared.
Acceptance Criteria:
- Provide a way for me to provide my extra information
- When a patient views my profile the information should be listed there
Priority: Low
Story Points: 2
Notes:
- Telephone numbers should not be visible without logging in first
Title: As a doctor, I want to view patient details, so that I can be better prepared.
Acceptance Criteria:
- Provide a description of the patient when I select him/her in the calendar
Priority: High
Story Points: 2
Notes:
- No additional info.