As an admin, I want to log into the portal using my username and password, so that I can manage the platform securely.
Acceptance Criteria:
- Admin can enter a valid username and password.
- Admin is authenticated and redirected to the admin dashboard.
- Invalid credentials display an appropriate error message.
Priority: High
Story Points: 3
Notes:
- Passwords should be securely stored and validated.
As an admin, I want to log out of the portal, so that system access is protected.
Acceptance Criteria:
- Admin can log out from any page.
- Session is terminated after logout.
- Admin is redirected to the login page.
Priority: Medium
Story Points: 2
Notes:
- Ensure session tokens are invalidated.
As an admin, I want to add doctors to the portal, so that they can offer services to patients.
Acceptance Criteria:
- Admin can enter doctor details (name, specialization, contact).
- Doctor profile is saved successfully.
- Newly added doctor appears in the doctor list.
Priority: High
Story Points: 5
Notes:
- Validate required fields before saving.
As an admin, I want to delete a doctor’s profile, so that outdated or inactive accounts are removed.
Acceptance Criteria:
- Admin can select a doctor profile.
- Admin can confirm deletion.
- Doctor profile is permanently removed from the system.
Priority: Medium
Story Points: 3
Notes:
- Check for existing appointments before deletion.
As an admin, I want to run a stored procedure in MySQL CLI to view the number of appointments per month, so that I can track usage statistics.
Acceptance Criteria:
- Stored procedure executes successfully.
- Monthly appointment count is returned accurately.
- Results can be used for reporting purposes.
Priority: Low
Story Points: 5
Notes:
- Requires database access permissions.
As a patient, I want to view a list of doctors without logging in, so that I can explore options before registering.
Acceptance Criteria:
- Doctor list is publicly accessible.
- Doctor names and specializations are visible.
- No login is required to view the list.
Priority: Medium
Story Points: 3
Notes:
- Limit visible information to non-sensitive data.
As a patient, I want to sign up using my email and password, so that I can book appointments.
Acceptance Criteria:
- Patient can register with a valid email and password.
- Account is created successfully.
- Patient can log in after registration.
Priority: High
Story Points: 5
Notes:
- Email should be unique.
As a patient, I want to log into the portal, so that I can manage my bookings.
Acceptance Criteria:
- Patient can enter valid credentials.
- Login redirects to patient dashboard.
- Invalid credentials show an error message.
Priority: High
Story Points: 3
Notes:
- Support password reset.
As a patient, I want to log out of the portal, so that my account remains secure.
Acceptance Criteria:
- Patient can log out successfully.
- Session is ended.
- Patient is redirected to the home page.
Priority: Medium
Story Points: 2
Notes:
- Auto logout after inactivity is recommended.
As a patient, I want to log in and book an hour-long appointment, so that I can consult with a doctor.
Acceptance Criteria:
- Patient can select a doctor.
- Available one-hour time slots are displayed.
- Appointment is confirmed and saved.
Priority: High
Story Points: 8
Notes:
- Prevent double booking.
As a patient, I want to view my upcoming appointments, so that I can prepare accordingly.
Acceptance Criteria:
- Patient can view a list of upcoming appointments.
- Appointment details include date, time, and doctor.
- Appointments are sorted chronologically.
Priority: Medium
Story Points: 3
Notes:
- Past appointments should be archived separately.
As a doctor, I want to log into the portal, so that I can manage my appointments.
Acceptance Criteria:
- Doctor can log in with valid credentials.
- Doctor dashboard is displayed upon login.
- Invalid login attempts show an error.
Priority: High
Story Points: 3
Notes:
- Two-factor authentication is optional.
As a doctor, I want to log out of the portal, so that my data is protected.
Acceptance Criteria:
- Doctor can log out from the system.
- Session is terminated.
- Doctor is redirected to the login page.
Priority: Medium
Story Points: 2
Notes:
- Clear cached session data.
As a doctor, I want to view my appointment calendar, so that I stay organized.
Acceptance Criteria:
- Calendar displays all upcoming appointments.
- Appointments show patient name and time.
- Calendar updates in real time.
Priority: High
Story Points: 5
Notes:
- Support daily and weekly views.
As a doctor, I want to mark my unavailability, so that patients only see available slots.
Acceptance Criteria:
- Doctor can select unavailable dates or times.
- Unavailable slots are hidden from patients.
- Changes are saved immediately.
Priority: High
Story Points: 5
Notes:
- Allow recurring unavailability.
As a doctor, I want to update my profile with specialization and contact information, so that patients have up-to-date information.
Acceptance Criteria:
- Doctor can edit profile details.
- Updated information is saved successfully.
- Patients can view the updated profile.
Priority: Medium
Story Points: 3
Notes:
- Validate contact information format.
As a doctor, I want to view patient details for upcoming appointments, so that I can be prepared.
Acceptance Criteria: Doctor to View Patient's name and Appoinment Reason
- Doctor can view patient name and appointment reason.
- Details are accessible only for scheduled appointments.
- Data is displayed securely.
Priority: High
Story Points: 5
Notes:
- Follow data privacy and access control rules.