How community-vercel/ustaadpro-app works
Ustaad Pro is a React Native on-demand home-services marketplace. Users can onboard or authenticate, discover services, book and track service orders, and shop for products; account, location, complaints, and notifications support that journey. The sampled store code demonstrates mocked auth/cart/order state alongside API-backed operations and local persistence. The README documents the app stack, while several screen and store internals were not sampled, so uncertain screen-to-operation links are omitted.
Main entry points: useAppStore.ts App state · MainNavigator.tsx Main navigation · App.tsx Application root · PushNotificationService.ts Push notifications
Components 22
App and navigation
- Application root
src/App.tsx - Auth navigation
src/navigation/AuthNavigator.tsx - Main navigation
src/navigation/MainNavigator.tsx - Notification center
src/components/NotificationCenter.tsx
Marketplace journeys
- Home and categories
src/screens/main/HomeTab.tsx - Service discovery
src/screens/main/CategoryScreen.tsx - Service booking
src/screens/main/BookingScreen.tsx - Bookings
src/screens/main/BookingsTab.tsx - Product storefront
src/screens/main/StoreTab.tsx - Shopping orders
src/screens/main/ShoppingOrdersScreen.tsx - Complaints
src/screens/main/ComplaintsScreen.tsx
Account and state
- Auth screens
src/screens/auth - Profile and settings
src/screens/main/ProfileTab.tsx - App state
src/store/useAppStore.ts
External integrations
- API client
src/api/client.ts - Ustaad Pro API
- Location service
src/services/locationService.ts - Native location
android/app/src/main/java/app/sharplogicians/ustaadpro/CurrentLocationModule.kt - Geocoding services
- Push notifications
src/services/PushNotificationService.ts - Firebase messaging
Other components
- Customer
Connections 33
- Customer → Application root: opens app
- Application root → Auth navigation: routes auth
- Application root → Main navigation: routes main
- Auth navigation → Auth screens: presents
- Auth screens → App state: authenticates
- Main navigation → Home and categories: presents
- Main navigation → Service discovery: presents
- Main navigation → Service booking: presents
- Main navigation → Bookings: presents
- Main navigation → Product storefront: presents
- Main navigation → Shopping orders: presents
- Main navigation → Complaints: presents
- Main navigation → Profile and settings: presents
- Home and categories → App state: reads catalog
- Service discovery → App state: reads catalog
- Service booking → App state: submits booking
- Bookings → App state: reads orders
- Product storefront → App state: manages cart
- Shopping orders → App state: reads orders
- Complaints → App state: submits complaints
- Profile and settings → App state: manages account
- Application root → Location service: locates address
- Location service → Native location: gets coordinates
- Location service → Geocoding services: reverse geocodes
- App state → API client: requests data
- Application root → API client: checks order status
- API client → Ustaad Pro API: sends requests
- Push notifications → Firebase messaging: receives messages
- Push notifications → API client: registers token
- Push notifications → App state: updates notifications
- Application root → Push notifications: sets up listeners
- Application root → Notification center: displays notifications
- Notification center → App state: reads and marks