As a frontend developer, I want to implement the app-wide color theme and base structure in Flutter so that all pages are visually consistent with the mock design. Apply the defined color palette: Background #F4F7FC, Surface #FFFFFF, Text #2C3E50, Accent #3498DB, Muted #95A5A6. Set up base typography, spacing, button styles, card shadows, border-radius conventions (8-16px), and widget themes. Remove any scaffold pages not needed per the SRD and user flows. This task must be completed before any page UI tasks begin.
As a user, I want to use a visually polished Login page in Flutter so that I can sign in as an admin. Implement the Login (v2) JSX design as a Flutter page, including email/password fields, sign-in button with #3498DB accent, error states, and form validation. This is the entry point per the Admin user flow (A[Login: Sign In] → B[Dashboard: View Registrations]). Reference the existing Login (v2) design page.
As a user, I want to use a backend API for admin login so that credentials are securely validated and a session/token is returned. Implement FastAPI endpoint for admin sign-in with JWT token generation and refresh token support. Supports the Login page (User Flow: A[Login: Sign In]).
As an admin, I want to use an interactive Dashboard page so that I can view all doctor registration statuses at a glance. Implement the Dashboard (v2) JSX design as a Flutter page with dynamic registration cards featuring flip animation, a circular progress indicator showing completion percentage, approve/reject slide animations, and navigation links to Search, Doctor Profile, and Reports pages. Follows the Signature Design Concept from Section 6 of the SRD. Entry point after login (User Flow: B[Dashboard: View Registrations]).
As an admin, I want to use a Reports page so that I can export the list of registered doctors as a PDF or Excel report. Implement the Reports (v2) JSX design as a Flutter page with export options (PDF/Excel), a preview of report data including filter sidebar (status, specialty, location, date range), summary stats bar, sortable doctor table, and pagination. Navigates from Dashboard (User Flow: I[Reports: Export Doctor List]).
As an admin, I want to use a Search Doctors page so that I can filter doctors by name, specialty, or location in real time. Implement the Results (v1) JSX design as a Flutter page with a floating search bar, live filtering, and a filtered results list. Navigates from Dashboard and leads to Results page (User Flow: C[Dashboard: Search Doctors] → D[Results: View Filtered List]).
As an admin, I want to use a Doctor Profile page so that I can review, approve/reject, and edit a doctor's registration. Implement the Doctor Profile (v2) JSX design as a Flutter page with profile detail view, approve/reject action buttons with slide animation into Completed/Rejected sections, and an editable form view. Navigates from Dashboard (User Flow: E[Doctor Profile: Review Request] → F[Doctor Profile: Approve Reject] → G[Dashboard: View Updated Status] and H[Doctor Profile: Edit Profile]).
As an admin, I want to use a Doctor Registration submission page so that I can enter and submit new doctor details for onboarding. Implement the Registration (v2) JSX design as a Flutter page with a 4-step form flow (Personal Details, Professional Details, Documents, Review & Submit), step indicator, document upload zones, consent checkboxes, and a sticky bottom action bar. Supports the Doctor indirect user flow (User Flow: A[Registration: Submit Details] → B[Registration: Await Approval]).
As a doctor (indirect user), I want to view my registration status page so that I can see whether my profile is pending, approved, or has a data error flagged. Implement the Profile (v2) JSX design as a Flutter page with status display, approved profile info view, and a flag/report error action. (User Flow: C[Profile: View Status] → D[Profile: View Approved Info] / E[Profile: Flag Data Error]).
As a user, I want to use a backend API for doctor registration so that new doctor details are saved securely to the database. Implement FastAPI CRUD endpoints for creating and retrieving doctor profiles including fields for personal info, professional details, document references, and registration status. Supports the Registration and Dashboard pages.
As a user, I want to use a backend API for exporting the doctor list so that admins can download a PDF or Excel report. Implement a FastAPI endpoint that accepts filter parameters and generates a formatted downloadable report file in both PDF and Excel formats. Supports the Reports page.
As a user, I want to use a backend API for searching and filtering doctors so that results are returned by name, specialty, or location efficiently. Implement FastAPI query endpoints with filter parameters (name, specialty, location, status, date range) and pagination support. Supports the Search & Results pages.
As a user, I want to use a backend API for approving or rejecting doctor registrations so that registration statuses are updated in real time. Implement FastAPI endpoints for updating doctor registration status (pending → approved/rejected) with appropriate state transition validation. Supports the Doctor Profile page.
As a user, I want to use a backend API for editing doctor profiles so that admin-made updates are persisted accurately. Implement FastAPI PUT/PATCH endpoint for updating doctor profile fields with validation. Supports the Doctor Profile edit flow.
As a frontend developer, I want to connect all Flutter pages to their respective backend APIs so that the app is fully functional end-to-end. Wire up Login, Dashboard, Doctor Profile, Search/Results, Registration, Reports, and Profile pages to FastAPI endpoints using HTTP client services with proper error handling, loading states, and token-based auth headers.

No comments yet. Be the first!