refactor(docs): Relocate use case completion audit to mobile section and add Shifts Connector documentation.

This commit is contained in:
Achintha Isuru
2026-02-23 00:53:11 -05:00
parent 77172a9a8c
commit 5a01302fdc
2 changed files with 17 additions and 5 deletions

View File

@@ -262,6 +262,18 @@ When backend adds new connector (e.g., `order`):
**Backend Queries Used**: **Backend Queries Used**:
- `backend/dataconnect/connector/staff/queries/profile_completion.gql` - `backend/dataconnect/connector/staff/queries/profile_completion.gql`
### Shifts Connector
**Location**: `apps/mobile/packages/data_connect/lib/src/connectors/shifts/`
**Available Queries**:
- `listShiftRolesByVendorId()` - Fetches shifts for a specific vendor with status mapping
- `applyForShifts()` - Handles shift application with error tracking
**Backend Queries Used**:
- `backend/dataconnect/connector/shifts/queries/list_shift_roles_by_vendor.gql`
- `backend/dataconnect/connector/shifts/mutations/apply_for_shifts.gql`
## Future Expansion ## Future Expansion
As the app grows, additional connectors will be added: As the app grows, additional connectors will be added:

View File

@@ -46,7 +46,7 @@
| 2.2 Scheduled Orders — Recurring | Create recurring shifts (e.g., every Monday) | ✅ | ✅ | ✅ Completed | `recurring_order_page.dart` fully implemented. | | 2.2 Scheduled Orders — Recurring | Create recurring shifts (e.g., every Monday) | ✅ | ✅ | ✅ Completed | `recurring_order_page.dart` fully implemented. |
| 2.2 Scheduled Orders — Permanent | Long-term staffing placement | ✅ | ✅ | ✅ Completed | `permanent_order_page.dart` fully implemented. | | 2.2 Scheduled Orders — Permanent | Long-term staffing placement | ✅ | ✅ | ✅ Completed | `permanent_order_page.dart` fully implemented. |
| 2.2 Scheduled Orders | Review cost before posting | ✅ | ✅ | 🟡 Partial | Order summary shown, but real-time cost calculation depends on backend. | | 2.2 Scheduled Orders | Review cost before posting | ✅ | ✅ | 🟡 Partial | Order summary shown, but real-time cost calculation depends on backend. |
| *(undocumented)* | View & Browse Posted Orders | ✅ | ✅ | 🚫 Undocumented | `view_orders_page.dart` exists with `ViewOrderCard`. Not covered in use-case docs. | | *(undocumented)* | View & Browse Posted Orders | ✅ | ✅ | 🚫 Undocumented | `view_orders_page.dart` exists with `ViewOrderCard`. Added `eventName` visibility. |
| *(undocumented)* | Cancel/Modify posted order | ❌ | ❌ | 🚫 Undocumented | A `cancel` reference appears only in `view_order_card.dart`. No dedicated cancel flow in docs or real app. | | *(undocumented)* | Cancel/Modify posted order | ❌ | ❌ | 🚫 Undocumented | A `cancel` reference appears only in `view_order_card.dart`. No dedicated cancel flow in docs or real app. |
--- ---
@@ -150,10 +150,10 @@
| Use Case | Sub-Use Case | Prototype | Real App | Status | Notes | | Use Case | Sub-Use Case | Prototype | Real App | Status | Notes |
|:---|:---|:---:|:---:|:---:|:---| |:---|:---|:---:|:---:|:---:|:---|
| 2.1 Browse & Filter Jobs | View available jobs list | ✅ | ✅ | ✅ Completed | `find_shifts_tab.dart` in `shifts` renders all available jobs. | | 2.1 Browse & Filter Jobs | View available jobs list | ✅ | ✅ | ✅ Completed | `find_shifts_tab.dart` in `shifts` renders all available jobs. Fully localized via `core_localization`. |
| 2.1 Browse & Filter Jobs | Filter by Role | ✅ | ✅ | 🟡 Partial | Search by title/location/client name is implemented. Filter by **role** (as in job category) uses type-based tabs (one-day, multi-day, long-term) rather than role selection. | | 2.1 Browse & Filter Jobs | Filter by Role | ✅ | ✅ | 🟡 Partial | Search by title/location/client name is implemented. Filter by **role** (as in job category) uses type-based tabs (one-day, multi-day, long-term) rather than role selection. |
| 2.1 Browse & Filter Jobs | Filter by Distance | ✅ | ❌ | ❌ Not Implemented | Distance filter present in prototype (`jobs_screen.dart`). Real app has no distance-based filter. | | 2.1 Browse & Filter Jobs | Filter by Distance | ✅ | ❌ | ❌ Not Implemented | Distance filter present in prototype (`jobs_screen.dart`). Real app has no distance-based filter. |
| 2.1 Browse & Filter Jobs | View job card details (Pay, Location, Requirements) | ✅ | ✅ | ✅ Completed | `MyShiftCard` + `shift_details_page.dart` with full shift info. | | 2.1 Browse & Filter Jobs | View job card details (Pay, Location, Requirements) | ✅ | ✅ | ✅ Completed | `MyShiftCard` + `shift_details_page.dart` with full shift info. Added `endDate` support for multi-day shifts. |
| 2.3 Set Availability | Select dates/times → Save preferences | ✅ | ✅ | ✅ Completed | `availability_page.dart` fully implemented with `AvailabilityBloc`. | | 2.3 Set Availability | Select dates/times → Save preferences | ✅ | ✅ | ✅ Completed | `availability_page.dart` fully implemented with `AvailabilityBloc`. |
| *(undocumented)* | View Upcoming Shifts shortcut on Home | ✅ | ✅ | 🚫 Undocumented | `worker_home_page.dart` shows upcoming shifts. Not documented as a home-tab sub-use case. | | *(undocumented)* | View Upcoming Shifts shortcut on Home | ✅ | ✅ | 🚫 Undocumented | `worker_home_page.dart` shows upcoming shifts. Not documented as a home-tab sub-use case. |
@@ -167,9 +167,9 @@
| 2.2 Claim Open Shift | System validates eligibility (certs, conflicts) | ✅ | ❌ | ❌ Not Implemented | Eligibility validation expected server-side, but client-side prompt to upload compliance docs if ineligible is not implemented. | | 2.2 Claim Open Shift | System validates eligibility (certs, conflicts) | ✅ | ❌ | ❌ Not Implemented | Eligibility validation expected server-side, but client-side prompt to upload compliance docs if ineligible is not implemented. |
| 2.2 Claim Open Shift | Prompt to Upload Compliance Docs if missing | ✅ | ❌ | ❌ Not Implemented | Prototype shows a `PromptUpload` flow. Real app `find_shifts_tab.dart` shows a success snackbar regardless. No redirect to compliance upload. | | 2.2 Claim Open Shift | Prompt to Upload Compliance Docs if missing | ✅ | ❌ | ❌ Not Implemented | Prototype shows a `PromptUpload` flow. Real app `find_shifts_tab.dart` shows a success snackbar regardless. No redirect to compliance upload. |
| 3.1 View Schedule | View list of claimed shifts (My Shifts tab) | ✅ | ✅ | ✅ Completed | `my_shifts_tab.dart` fully implemented with shift cards. | | 3.1 View Schedule | View list of claimed shifts (My Shifts tab) | ✅ | ✅ | ✅ Completed | `my_shifts_tab.dart` fully implemented with shift cards. |
| 3.1 View Schedule | View Shift Details | ✅ | ✅ | ✅ Completed | `shift_details_page.dart` with header, location map, schedule summary, stats. | | 3.1 View Schedule | View Shift Details | ✅ | ✅ | ✅ Completed | `shift_details_page.dart` with header, location map, schedule summary, stats. Corrected weekday mapping and added `endDate`. |
| *(undocumented)* | History of Past Shifts (History tab) | ❌ | ✅ | 🚫 Undocumented | `history_shifts_tab.dart` exists and is wired in the `shifts_page.dart`. Not mentioned in use-case docs. | | *(undocumented)* | History of Past Shifts (History tab) | ❌ | ✅ | 🚫 Undocumented | `history_shifts_tab.dart` exists and is wired in the `shifts_page.dart`. Not mentioned in use-case docs. |
| *(undocumented)* | Shift Assignment Card with multi-day grouping | ❌ | ✅ | 🚫 Undocumented | Multi-day grouping logic in `_groupMultiDayShifts()` within `find_shifts_tab.dart`. Not in docs. | | *(undocumented)* | Shift Assignment Card with multi-day grouping | ❌ | ✅ | 🚫 Undocumented | Multi-day grouping logic in `_groupMultiDayShifts()` within `find_shifts_tab.dart`. Supports `endDate`. |
--- ---