From cb63f03e5599dfe09efe80dcb41806b0a5353187 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jos=C3=A9=20Salazar?=
<73718835+joshrs23@users.noreply.github.com>
Date: Tue, 20 Jan 2026 14:21:34 -0500
Subject: [PATCH] mobile diagrams
---
.../dataconnect/mobile/client_app_diagram.mmd | 74 +++++++++++
.../dataconnect/mobile/staff_app_diagram.mmd | 121 ++++++++++++++++++
.../assets/diagrams/diagrams-config.json | 12 ++
3 files changed, 207 insertions(+)
create mode 100644 internal/launchpad/assets/diagrams/dataconnect/mobile/client_app_diagram.mmd
create mode 100644 internal/launchpad/assets/diagrams/dataconnect/mobile/staff_app_diagram.mmd
diff --git a/internal/launchpad/assets/diagrams/dataconnect/mobile/client_app_diagram.mmd b/internal/launchpad/assets/diagrams/dataconnect/mobile/client_app_diagram.mmd
new file mode 100644
index 00000000..d94fc42e
--- /dev/null
+++ b/internal/launchpad/assets/diagrams/dataconnect/mobile/client_app_diagram.mmd
@@ -0,0 +1,74 @@
+flowchart LR
+
+subgraph C1["Login"]
+ S_client_sign_in["client_sign_in_screen.dart"]
+ S_client_sign_in --> S_client_sign_in_Q["Queries
* user - getUserById
* business - getBusinessesByUserId"]
+ S_client_sign_in --> S_client_sign_in_F["Firebase
* user - auth"]
+end
+
+subgraph C2["Create account"]
+ S_client_sign_up["client_sign_up_screen.dart"]
+ S_client_sign_up --> S_client_sign_up_Q["Queries
* business - getBusinessesByUserId"]
+ S_client_sign_up --> S_client_sign_up_M["Mutations
* user - createUser
* business - createBusiness"]
+end
+
+subgraph C3["Edit account"]
+ S_edit_account_na["manual_or_unknown_screen.dart"]
+ S_edit_account_na --> S_edit_account_na_M["Mutations
* business - updateBusiness"]
+end
+
+subgraph C4["Profile"]
+ S_client_settings["client_settings_screen.dart"]
+ S_client_settings --> S_client_settings_Q["Queries
* user - getUserById
* business - getBusinessesByUserId"]
+end
+
+subgraph C5["Hubs"]
+ S_client_hubs["client_hubs_screen.dart"]
+ S_client_hubs --> S_client_hubs_Q["Queries
* TeamHub - listTeamHubsByOwnerId"]
+ S_client_hubs --> S_client_hubs_M["Mutations
* TeamHub - createTeamHub
* TeamHub - updateTeamHub
* TeamHub - deleteTeamHub"]
+end
+
+subgraph C6["Orders"]
+ S_client_shifts["client_shifts_screen.dart"]
+ S_client_shifts --> S_client_shifts_Q["Queries
* order - getOrdersByBusinessId"]
+end
+
+subgraph C7["RAPID Order"]
+ S_rapid_order["rapid_order_flow_page.dart"]
+ S_rapid_order --> S_rapid_order_M["Mutations
* order - createOrder"]
+end
+
+subgraph C8["One-time Order"]
+ S_one_time["one_time_order_flow_page.dart"]
+ S_one_time --> S_one_time_Q["Queries
* role - listRolesByOwnerId"]
+ S_one_time --> S_one_time_M["Mutations
* ShiftRole - createShiftRole
* order - createOrder"]
+end
+
+subgraph C9["Permanent Placement"]
+ S_permanent["permanent_order_flow_page.dart"]
+ S_permanent --> S_permanent_Q["Queries
* role - listRolesByOwnerId"]
+ S_permanent --> S_permanent_M["Mutations
* ShiftRole - createShiftRole
* order - createOrder"]
+end
+
+subgraph C10["Recurring Order"]
+ S_recurring["recurring_order_flow_page.dart"]
+ S_recurring --> S_recurring_Q["Queries
* role - listRolesByOwnerId"]
+ S_recurring --> S_recurring_M["Mutations
* ShiftRole - createShiftRole
* order - createOrder"]
+end
+
+subgraph C11["Billing"]
+ S_billing["client_billing_screen.dart"]
+ S_billing --> S_billing_Q["Queries
* account - getAccountsByOwnerId
* invoice - listInvoicesByBusinessId
* recentPayment - listRecentPaymentsByBusinessId"]
+ S_billing --> S_billing_M["Mutations
* account - createAccount
* account - updateAccount
* account - deleteAccount"]
+end
+
+subgraph C12["Coverage"]
+ S_coverage["coverage_dashboard.dart"]
+ S_coverage --> S_coverage_Q["Queries
* order - getOrdersByBusinessId
* shift - getShiftsByBusinessId
* application - getApplicationsByShiftId"]
+end
+
+subgraph C13["Home"]
+ S_client_home["client_home_screen.dart"]
+ S_client_home --> S_client_home_Q["Queries
* order - getOrdersByBusinessId
* shift - getShiftsByBusinessId
* application - getApplicationsByShiftId
* recentPayment - listRecentPaymentsByBusinessId"]
+ S_client_home --> S_client_home_M["Mutations
* order - createOrder"]
+end
diff --git a/internal/launchpad/assets/diagrams/dataconnect/mobile/staff_app_diagram.mmd b/internal/launchpad/assets/diagrams/dataconnect/mobile/staff_app_diagram.mmd
new file mode 100644
index 00000000..b281d38e
--- /dev/null
+++ b/internal/launchpad/assets/diagrams/dataconnect/mobile/staff_app_diagram.mmd
@@ -0,0 +1,121 @@
+flowchart LR
+
+subgraph L1["login/create user"]
+ S_auth_phone["phone_verification_screen.dart"]
+ S_auth_phone --> S_auth_phone_Q["Queries
* user - getUserById
* staff - getStaffByUserId"]
+ S_auth_phone --> S_auth_phone_M["Mutations
* user - createUser"]
+ S_auth_phone --> S_auth_phone_F["Firebase
* user - auth"]
+end
+
+subgraph L2["Profile"]
+ S_worker_profile["worker_profile_screen.dart"]
+ S_worker_profile --> S_worker_profile_Q["Queries
* user - getUserById
* staff - getStaffByUserId"]
+end
+
+subgraph L3["Personal info"]
+ S_personal_info["personal_info_screen.dart"]
+ S_personal_info --> S_personal_info_Q["Queries
* staff - getStaffByUserId"]
+ S_personal_info --> S_personal_info_M["Mutations
* staff - UpdateStaff"]
+end
+
+subgraph L4["Emergency Contact"]
+ S_emergency["emergency_contact_screen.dart"]
+ S_emergency --> S_emergency_Q["Queries
* emergencyContact - getEmergencyContactsByStaffId"]
+ S_emergency --> S_emergency_M["Mutations
* conemergencyContacttact - updateEmergencyContact
* emergencyContact - createEmergencyContact
* contemergencyContactact - deleteEmergencyContact"]
+end
+
+subgraph L5["Experience & skills"]
+ S_experience["experience_screen.dart"]
+ S_experience --> S_experience_Q["Queries
* staff - getStaffByUserId"]
+ S_experience --> S_experience_M["Mutations
* staff - UpdateStaff"]
+end
+
+subgraph L6["Attire"]
+ S_attire["attire_screen.dart"]
+ S_attire --> S_attire_Q["Queries
* attireOption - filterAttireOptions
* staff - getStaffByUserId"]
+ S_attire --> S_attire_M["Mutations
* staff - UpdateStaff"]
+end
+
+subgraph L7["Documents"]
+ S_documents["documents_screen.dart"]
+ S_documents --> S_documents_Q["Queries
* document - listDocuments
* staffDocument - listStaffDocumentsByStaffId"]
+ S_documents --> S_documents_M["Mutations
* staffDocument - updateStaffDocument
* staffDocument - createStaffDocument"]
+end
+
+subgraph L8["Certificates"]
+ S_certificates["certificates_screen.dart"]
+ S_certificates --> S_certificates_Q["Queries
* certificate - listCertificatesByStaffId"]
+ S_certificates --> S_certificates_M["Mutations
* certificate - UpdateCertificate
* certificate - CreateCertificate
* certificate - DeleteCertificate"]
+end
+
+subgraph L9["Tax Documents"]
+ S_tax_forms["tax_forms_screen.dart"]
+ S_tax_forms --> S_tax_forms_Q["Queries
* taxForm - getTaxFormsBystaffId"]
+ S_tax_forms --> S_tax_forms_M["Mutations
* taxForm - createTaxForm
* taxForm - updateTaxForm"]
+end
+
+subgraph L10["KROW University"]
+ S_uni["krow_university_screen.dart"]
+ S_uni --> S_uni_Q["Queries
* course - listCourses
* staffCourse - listStaffCoursesByStaffId
* staff - getStaffByUserId
* level - listLevels
* certificate - listCertificatesByStaffId"]
+end
+
+subgraph L11["Trainings"]
+ S_trainings["trainings_screen.dart"]
+ S_trainings --> S_trainings_Q["Queries
* course - listCourses
* staffCourse - listStaffCoursesByStaffId"]
+end
+
+subgraph L12["Leaderboard"]
+ S_leaderboard["leaderboard_screen.dart"]
+ S_leaderboard --> S_leaderboard_Q["Queries
* staffCourse - missing"]
+end
+
+subgraph L13["Bank Account"]
+ S_bank["bank_account_screen.dart"]
+ S_bank --> S_bank_Q["Queries
* account - getAccountsByOwnerId"]
+ S_bank --> S_bank_M["Mutations
* account - createAccount
* account - updateAccount
* account - deleteAccount"]
+end
+
+subgraph L14["Earnings/Payments"]
+ S_payments["payments_screen.dart"]
+ S_payments --> S_payments_Q["Queries
* recentPayment - listRecentPaymentsByStaffId"]
+end
+
+subgraph L15["Timecard"]
+ S_timecard["time_card_screen.dart"]
+ S_timecard --> S_timecard_Q["Queries
* application - getApplicationsByStaffId"]
+end
+
+subgraph L16["Clock in"]
+ S_clockin["clock_in_screen.dart"]
+ S_clockin --> S_clockin_Q["Queries
* application - getApplicationsByStaffId"]
+ S_clockin --> S_clockin_M["Mutations
* application - createApplication
* application - updateApplicationStatus"]
+end
+
+subgraph L17["Shifts"]
+ S_shifts["shifts_screen.dart"]
+ S_shifts --> S_shifts_Q["Queries
* application - getApplicationsByStaffId
* shiftRole - listShiftRolesByVendorId/listShiftRolesByRoleId
* application - getApplicationsByStaffId"]
+ S_shifts --> S_shifts_M["Mutations
* application - updateApplicationStatus
* application - createApplication]
+end
+
+subgraph L18["My availability"]
+ S_availability["availability_screen.dart"]
+ S_availability --> S_availability_Q["Queries
* staffAvailability - listStaffAvailabilitiesByStaffId/getStaffAvailabilityByKey"]
+ S_availability --> S_availability_M["Mutations
* staffAvailability - updateStaffAvailability
* staffAvailability - createStaffAvailability
* staffAvailability - deleteStaffAvailability"]
+end
+
+subgraph L19["Your Benefits Overview"]
+ S_benefits["benefits_screen.dart"]
+ S_benefits --> S_benefits_Q["Queries
* benefitsData - listBenefitsDataByStaffId"]
+ S_benefits --> S_benefits_M["Mutations
* benefitsData - updateBenefitsData
* benefitsData - createBenefitsData"]
+end
+
+subgraph L20["Home"]
+ S_home["worker_home_screen.dart"]
+ S_home --> S_home_Q["Queries
* application - getApplicationsByStaffId
* shiftRole - listShiftRolesByVendorId/listShiftRolesByRoleId
* benefitsData - getBenefitsDataByStaffId"]
+end
+
+subgraph L21["Shift detail"]
+ S_shift_detail["shift_details_screen.dart"]
+ S_shift_detail --> S_shift_detail_Q["Queries
* application - getApplicationsByStaffId"]
+ S_shift_detail --> S_shift_detail_M["Mutations
* application - updateApplicationStatus"]
+end
diff --git a/internal/launchpad/assets/diagrams/diagrams-config.json b/internal/launchpad/assets/diagrams/diagrams-config.json
index d9300143..61561eaf 100644
--- a/internal/launchpad/assets/diagrams/diagrams-config.json
+++ b/internal/launchpad/assets/diagrams/diagrams-config.json
@@ -148,5 +148,17 @@
"title": "Team UML Diagram Dataconnect",
"type": "mermaid",
"icon": "bi-diagram-2"
+ },
+ {
+ "path": "assets/diagrams/dataconnect/mobile/client_app_diagram.mmd",
+ "title": "Client App Diagram Dataconnect",
+ "type": "mermaid",
+ "icon": "bi-diagram-2"
+ },
+ {
+ "path": "assets/diagrams/dataconnect/mobile/staff_app_diagram.mmd",
+ "title": "Staff App Diagram Dataconnect",
+ "type": "mermaid",
+ "icon": "bi-diagram-2"
}
]
\ No newline at end of file