Deep DivesApp
Introduction
An overview of the RawStack App component.
The App component is the React Native mobile application, supporting both iOS and Android from a single codebase.
Responsibilities
- User authentication and session management
- Core user-facing mobile features
- Offline-capable data access via React Query + AsyncStorage
- Push notification handling
Architecture
The app uses React Navigation for routing:
- Tab navigator — main bottom tab bar
- Stack navigators — nested screen flows within each tab
Data fetching follows the same pattern as the web app — React Query manages all server state with automatic caching, background refetching, and optimistic updates. AsyncStorage provides persistent local storage for tokens and cached data.
Forms use React Hook Form with Zod schemas for validation.
Key features
- React Native 0.82 with React 19
- React Navigation v7 — bottom tabs + stack navigation
- TanStack React Query v5 — data fetching and caching
- AsyncStorage — persistent local storage
- Styled Components v6 — component styling
- react-native-config — environment variable management
- react-native-bootsplash — native splash screen