π± Mobile App β
Tellia's mobile app is an Expo 55 + React Native 0.83 field application for iOS and Android. It uses the New Architecture, experimental React Compiler (React 19), and file-based routing via Expo Router.
IMPORTANT
The app uses Expo prebuild (managed native build). Expo Go is not supported β you must run pnpm --filter @tellia-solutions/mobile-app ios or pnpm --filter @tellia-solutions/mobile-app android which build the native project.
Tech Stack β
| Layer | Technology |
|---|---|
| Framework | Expo 55 / React Native 0.83 |
| Routing | Expo Router (file-based) |
| Auth | @react-native-firebase/auth (native modules) |
| Styling | Uniwind (Tailwind β RN styles) + CVA |
| Data fetching | TanStack Query v5 |
| Maps | @rnmapbox/maps v10 + Turf.js |
| Error tracking | Sentry (@sentry/react-native v8) |
| Feature flags | Firebase Remote Config |
| Offline storage | MMKV |
| Bottom sheets | react-native-actions-sheet |
Quick Commands β
bash
pnpm --filter @tellia-solutions/mobile-app start # Expo dev server
pnpm --filter @tellia-solutions/mobile-app ios # Run on iOS simulator
pnpm --filter @tellia-solutions/mobile-app android # Run on Android emulator
pnpm --filter @tellia-solutions/mobile-app lint # ESLint
pnpm --filter @tellia-solutions/mobile-app check-types # TypeScript checkSections β
- π» Local Dev Setup β Prerequisites, env vars, Firebase config, running the app
- ποΈ Architecture β Routing, auth guards, theming, bottom sheets
- π API & Data Layer β HTTP client, TanStack Query, custom hooks
- π΄ Offline Sync & Feature Flags β Offline queue, feature flag system
- πΊοΈ Map & Geospatial β Mapbox setup, layers, drawing, parcels
- π Build & Submit β EAS Build profiles, store submission, service account setup