From 5625e353c89a8fcdfaf95a5bde26ac547d3f1a26 Mon Sep 17 00:00:00 2001 From: Achintha Isuru Date: Mon, 2 Feb 2026 13:58:12 -0500 Subject: [PATCH] feat: update navigation paths for worker profile and shifts in HomeNavigator --- .../navigation/home_navigator.dart | 6 +- docs/DEMO_PLAN.md | 382 ++++++++++++++++++ 2 files changed, 385 insertions(+), 3 deletions(-) create mode 100644 docs/DEMO_PLAN.md diff --git a/apps/mobile/packages/features/staff/home/lib/src/presentation/navigation/home_navigator.dart b/apps/mobile/packages/features/staff/home/lib/src/presentation/navigation/home_navigator.dart index 4e8dfc0e..9774cb07 100644 --- a/apps/mobile/packages/features/staff/home/lib/src/presentation/navigation/home_navigator.dart +++ b/apps/mobile/packages/features/staff/home/lib/src/presentation/navigation/home_navigator.dart @@ -9,7 +9,7 @@ import 'package:krow_domain/krow_domain.dart'; extension HomeNavigator on IModularNavigator { /// Navigates to the worker profile page. void pushWorkerProfile() { - pushNamed('/worker-profile'); + pushNamed('/worker-main/profile'); } /// Navigates to the availability page. @@ -31,9 +31,9 @@ extension HomeNavigator on IModularNavigator { /// Optionally provide a [tab] query param (e.g. `find`). void pushShifts({String? tab}) { if (tab == null) { - pushNamed('/shifts'); + pushNamed('/worker-main/shifts'); } else { - pushNamed('/shifts?tab=$tab'); + pushNamed('/worker-main/shifts?tab=$tab'); } } diff --git a/docs/DEMO_PLAN.md b/docs/DEMO_PLAN.md new file mode 100644 index 00000000..c8f99f69 --- /dev/null +++ b/docs/DEMO_PLAN.md @@ -0,0 +1,382 @@ +# 🎬 KROW Workforce Platform — Feature Demo Plan + +**Version:** 1.0 +**Date:** February 2, 2026 +**Audience:** Business Stakeholders, Customer Engineers, Sales Teams +**Duration:** 25-30 minutes + +--- + +## 1️⃣ Demo Overview + +### Purpose + +This demo showcases the progress of the milestone 3. + +- **For Businesses (Client App):** One-time shift creation, worker management, real-time coverage tracking +- **For Workers (Staff App):** Easy access to available shifts, clock-in and profile management +- **Complete Workflow:** From shift posting and worker check-in and completion/ + +### Estimated Demo Duration + +**25-30 minutes** + +--- + +## 2️⃣ Demo Environment Setup + +### Required Test Accounts + +**Client Account (Business User):** +- Email: `google_payment@gmail.com` +- Password: `Demo2026!` +- Client Name: "Google Payements" + +**Staff Account (Worker):** +- Phone: `+1 (555) 123-4567` +- OTP Code: `123456` (demo mode) +- Name: "Alex Martinez" + +### Prerequisites +1. ✅ Both apps installed on demo devices (or simulators) +2. ✅ Network connection stable +3. ✅ Seed data is ready to be populated + - the database should be empty. + - remove unnecessary users from the firebase authetication. + +### Pre-Demo Data Seeding + +Tracked in : +- https://github.com/Oloodi/krow-workforce/issues/345 + +- This should be easily populated and de-populated by the demonstrator to show the empty states in the apps. +- At the start the database should be empty. +--- + +## 3️⃣ Demo Flows + +### Demo 0: Show Empty Database +**Purpose:** Demonstrate the starting point before any data exists +**Action:** Show the empty database in Firebase console + +--- + +### Demo 1: Register Business & Show Empty States (Client App) +**Purpose:** Show the client onboarding experience and empty states +**Steps:** +1. Open Client App → Tap "Create Account" +2. Enter business details (email, password, company name) +3. Complete sign up and navigate to home page +4. **Point out:** Empty dashboard, no orders, no workers, clean slate + +--- + +### Demo 2: Register Staff & Show Empty States (Staff App) +**Purpose:** Show the worker onboarding experience and empty states +**Steps:** +1. Open Staff App → Tap "Sign Up" +2. Enter phone number and verify with OTP code +3. Complete profile setup wizard (skip detailed sections for speed) +4. Navigate to home page +5. **Point out:** Empty shifts list, no available work yet + +--- + +> **🔄 PAUSE HERE:** Populate the database with seed data (run seeding script) + +--- + +### Demo 3: Client Logs In with Existing Account +**Purpose:** Show the sign-in experience for returning users +**Screen:** Get Started → Sign In +**Steps:** +1. Open Client App (or restart if already open) +2. Tap "Sign In" button +3. Enter credentials: + - Email: `google_payment@gmail.com` + - Password: `Demo2026!` +4. Tap "Sign In" +5. Observe loading state and successful authentication + +**What to Notice:** +- Clean, professional interface with business branding +- Password field security (masked characters) +- Error handling for invalid credentials +- Smooth transition to home screen + +**Why It Matters:** Single sign-on for all team members, secure authentication without complexity + +--- + +### Demo 4: Client Views Populated Dashboard +**Purpose:** Show how the client app displays active operations +**Steps:** +1. After signing in, observe the home screen +2. Navigate through populated sections: + - Home: Coverage stats, upcoming shifts + - Orders: Posted shifts with workers assigned + - Coverage: Real-time worker status + +**What to Notice:** +- Coverage percentage for today's shifts +- Workers checked in vs. needed +- Late workers alerts +- Today's estimated labor cost + +**Why It Matters:** At-a-glance visibility of operations without manual tracking + +--- + +### Demo 5: Client Creates New Order +**Purpose:** Walk through the shift creation process +**Screen:** Orders Tab → "Post" button +**Action:** Create a new shift for upcoming event + +**What to Fill:** +- Order name: "Spring Gala 2026" +- Date: [Select upcoming date] +- Location: [Select existing hub] +- Add position: Server, Count: 3, Hours: 5PM-11PM +- Add position: Bartender, Count: 1, Hours: 4PM-11PM + +**What to Notice:** +- Simple form with smart defaults +- Real-time cost calculation +- Option to add multiple roles +- Review summary before posting + +**Why It Matters:** Post shifts in under 2 minutes vs. hours of phone calls + +--- + +### Demo 6: Client Views Order Details +**Purpose:** Show detailed shift information and worker assignments +**Screen:** Orders Tab → Tap on any order card +**Action:** Expand order to see full details + +**What to Notice:** +- Event name and location +- Roles needed (e.g., "2 Servers, 1 Bartender") +- Clock in/out times +- Estimated cost +- Coverage percentage bar +- List of confirmed workers with profile photos + +**Why It Matters:** Complete transparency on staffing status before the event + +--- + +### Demo 7: Client Monitors Coverage Dashboard +**Purpose:** Show real-time worker tracking capabilities +**Screen:** Coverage Tab +**Action:** Navigate to Coverage, select today's date + +**What to Notice:** +- Live worker status (Checked In, En Route, Late, Not Arrived) +- Color-coded status badges (green, yellow, red) +- Real-time check-in notifications +- Worker contact information + +**Why It Matters:** Know exactly who's on-site and who's missing before event starts + +--- + +### Demo 8: Staff Browses Available Shifts +**Purpose:** Show how workers discover and view available work +**Screen:** Shifts Tab → "Find Work" +**Action:** Browse the list of available shifts + +**What to Notice:** +- List of shifts matching worker skills +- Distance from worker's location +- Hourly rate prominently displayed +- Role requirements (e.g., "Bartender - Spring Gala") +- Date, time, and duration + +**Why It Matters:** Workers can find work that fits their schedule and skills + +--- + +### Demo 9: Staff Applies for Shift +**Purpose:** Show the application process from worker side +**Screen:** Shift Details → "Apply Now" button +**Steps:** +1. Tap on an available shift to view details +2. Review business name, location, pay, requirements +3. Tap "Apply Now" +4. See instant confirmation + +**What to Notice:** +- Simple one-tap application +- Instant confirmation message +- Shift appears in "My Shifts" tab immediately + +**Why It Matters:** One-tap application vs. lengthy forms or phone calls + +--- + +### Demo 10: Staff Views Confirmed Shifts +**Purpose:** Show worker's shift management interface +**Screen:** Shifts Tab → "My Shifts" +**Action:** Review calendar view of confirmed shifts + +**What to Notice:** +- Week-by-week calendar navigation +- Color-coded status (Confirmed, Pending, Completed) +- Quick access to shift details and directions +- Upcoming shift reminders + +**Why It Matters:** Workers manage all shifts in one centralized place + +--- + +### Demo 11: Staff Checks In to Shift (Day of Event) +**Purpose:** Demonstrate the check-in process +**Screen:** Home or My Shifts → Shift Card → "Check In" button +**Action:** Simulate checking in to an active shift + +**What to Notice:** +- GPS verification of location +- Timestamp automatically recorded +- Status changes to "Checked In" with green indicator +- Notification sent to business + +**Why It Matters:** Eliminates manual time tracking and buddy punching + +--- + +### Demo 12: Client Sees Real-Time Check-In Update +**Purpose:** Show cross-app interaction and real-time updates +**Screen:** Client App → Coverage Tab +**Action:** Show the worker's status updating from "Not Arrived" to "Checked In" + +**What to Notice:** +- Instant status update (no refresh needed) +- Green "Checked In" badge appears +- Check-in time displayed +- Coverage percentage updates automatically + +**Why It Matters:** Real-time visibility prevents no-shows and improves coordination + +--- + +## Complete Order Creation Flow +``` +Client Posts Shift + ↓ +*Vendor Accepts the Shift (This Part is missing for now)* + ↓ +Worker Applies + ↓ +Confirmation + ↓ +Worker Checks In + ↓ +Shift Completed + ↓ +Payment +``` + +### Act 1: Business Need (Client App) +- Google payments division needs staff for an upcoming event and posts shift requirements. + +> NOTE: +> *Vendor needs to accepts the Shift (This Part is missing for now)* +> Note this to the customer. + +### Act 2: Worker Discovery (Staff App) +- A worker finds the shift, reviews details, and applies. +- The worker can see the confirmation quickly. + +### Act 3: Day of Event (Staff App + Client App) +Worker checks in using the app, business tracks attendance in real-time. + +### Act 4: Completion & Payment (Both Apps) +Shift completes, payment is processed. + +--- + +## 8️⃣ Common Questions & Talking Points + +### **Q: How do you handle background checks and compliance?** +**A:** Workers upload required documents (certifications, IDs) during onboarding. The system flags expired or missing documents and prevents booking until resolved. Businesses can configure required certifications per role. + +--- + +### **Q: What if a worker no-shows?** +**A:** The platform tracks reliability scores based on check-ins and cancellations. Businesses can filter workers by reliability when posting shifts. Repeated no-shows result in account warnings. + +--- + +### **Q: Can we message workers before or during shifts?** +**A:** *(Current State: Not yet implemented in demo)* Messaging is on the roadmap. Currently, workers can access business contact info from shift details. + +--- + +### **Q: How does payment work?** +**A:** Workers link bank accounts during onboarding. Hours are automatically calculated from check-in/check-out times. Payment is processed weekly via ACH transfer. *(Note: Payment processing integration is in progress)* + +--- + +### **Q: What happens if we need to cancel a shift?** +**A:** Businesses can cancel shifts from the Orders screen. Workers receive cancellation notifications. The system tracks cancellation history for both businesses and workers. + +--- + +### **Q: Can workers see their upcoming schedule?** +**A:** Yes, the "My Shifts" tab shows a week-by-week calendar view of all confirmed shifts. Workers can export to phone calendar. + +--- + +### **Q: Do you support recurring shifts or long-term placements?** +**A:** *(Current State: One-time shifts implemented)* Recurring and permanent shifts are on the roadmap. Current demo focuses on one-time event staffing. + +--- + +### **Q: How do you verify worker skills?** +**A:** During onboarding, workers select their experience levels and upload relevant certificates (ServSafe, TIPS, etc.). Businesses can require certifications per role. + +--- + +### **Q: What if GPS check-in doesn't work (indoor venue)?** +**A:** *(Current State: GPS-based check-in)* Backup QR code check-in is in development. Businesses can also manually verify check-ins from Coverage dashboard. + +--- + +### **Q: Can we integrate with our existing payroll system?** +**A:** *(Future Feature)* API integration with payroll systems like ADP, Gusto is planned. Current export options include CSV for manual import. + +--- + +### **Q: What data do businesses see about workers?** +**A:** Businesses see worker name, photo, ratings, reliability score, certifications, and shift history. Personal details (address, SSN) remain private. + +--- + +### **Q: Is there a web dashboard for businesses?** +**A:** *(Current State: Mobile-first)* Web admin dashboard is in development. Current demo shows mobile apps for both businesses and workers. + +--- + +### **Q: What's the pricing model?** +**A:** *(Sales Team Question)* Refer to sales team for pricing. Platform fee is typically percentage of labor cost or flat per-worker rate. + +--- + +## 9️⃣ Current Limitations (Be Transparent) + +1. **Messaging:** In-app chat between businesses and workers is not yet available +2. **Payment Processing:** ACH/payment gateway integration is in progress +3. **Recurring Shifts:** Only one-time shifts are currently implemented +4. **Web Dashboard:** Admin web interface is under development +5. **Shift Swapping:** Workers cannot yet swap shifts with each other +6. **Push Notifications:** Some real-time notifications may have delays +7. **Offline Mode:** Apps require internet connection for most features + +--- + +**Document Version:** 1.0 +**Last Updated:** February 2, 2026 +**Maintained By:** Product & Solutions Engineering Team +**Feedback:** Submit updates via GitHub Issues or Slack #demo-playbook +