How aayush-ariato/prop101-mobile works
Prop101 mobile is a native Expo app for property education and planning. A member signs in or previews the app, lands on a personalized home screen, then studies courses and lessons, practices with calculators, and explores a portfolio or suburb research; community, coaching, and account features extend that journey. Admin users have separate management screens. The app reuses an existing REST backend, with session and query state managed on-device. Feature routes and API details are only partly sampled, so the graph shows documented capabilities but omits uncertain route-to-service wiring.
Main entry points: data.ts Resource and action hooks · session.tsx Session provider · api.ts REST transport · [id].tsx Calculators
Components 22
Access and navigation
- Sign-in and onboarding
src/app/(auth)/login.tsx - Protected navigation
src/app/_layout.tsx - Session provider
src/providers/session.tsx - Member home
src/app/(app)/(tabs)/index.tsx
Learning
- Course catalogue
src/app/(app)/(tabs)/courses.tsx - Lesson experience
src/features/lesson.tsx - Course and lesson routes
src/app/(app)/lesson/[courseId]/[lessonId].tsx - Progress and certificates
src/app/(app)/progress.tsx
Property planning
- Calculators
src/app/(app)/calculator/[id].tsx - Calculator logic
src/domain/calculators.ts - Portfolio workspace
src/features/portfolio.ts - Portfolio screens
src/app/(app)/portfolio/index.tsx - Suburb research
src/app/(app)/research.tsx
Community and coaching
- Community screens
src/app/(app)/(tabs)/community.tsx - Coaching booking
src/app/(app)/coaching.tsx - Admin management
src/app/(app)/admin/index.tsx
App runtime
- Resource and action hooks
src/lib/data.ts - REST transport
src/lib/api.ts - Query cache
src/lib/query-client.ts - Secure session storage
src/lib/session-storage.ts
Other components
- Member
- Existing REST backend
Connections 24
- Member → Sign-in and onboarding: signs in
- Sign-in and onboarding → Session provider: submits credentials
- Session provider → REST transport: requests session
- Session provider → Secure session storage: restores or clears
- Secure session storage → Session provider: provides cookie
- Session provider → Protected navigation: sets access state
- Protected navigation → Member home: opens signed-in app
- Member home → Resource and action hooks: loads resources
- Course catalogue → Resource and action hooks: loads courses
- Course and lesson routes → Lesson experience: renders lesson
- Lesson experience → Resource and action hooks: submits activities
- Progress and certificates → Resource and action hooks: loads progress
- Calculators → Calculator logic: computes results
- Calculators → Resource and action hooks: saves examples
- Portfolio screens → Portfolio workspace: uses portfolio operations
- Portfolio screens → Resource and action hooks: loads and saves
- Suburb research → Resource and action hooks: searches suburbs
- Community screens → Resource and action hooks: loads and changes posts
- Coaching booking → Resource and action hooks: books and manages slots
- Admin management → Resource and action hooks: manages records
- Resource and action hooks → Query cache: uses cached queries
- Resource and action hooks → REST transport: sends requests
- REST transport → Existing REST backend: calls REST API
- Session provider → Existing REST backend: authenticates