Prerequisites
Complete the React Native environment setup before proceeding. The guide covers installing the Android SDK, configuring
ANDROID_HOME, and setting up Xcode Command Line Tools.- Node.js >= 18
- Yarn package manager
- Android Studio (for Android development)
- Xcode (for iOS development, macOS only)
Setup
Start the Metro bundler
Release build (Android)
To produce a release APK, run therelease-build script. It bundles the JavaScript, clears stale drawable resources, and runs the Gradle assembleRelease task.
First launch
When the app opens for the first time it follows this sequence:- Splash screen — displays the DOSS logo and a Get Started button.
AsyncStoragechecks whether the app has been launched before. - Onboarding — four slides introducing identity verification, support payments, scan-and-pay, and document requirements. Navigating past the last slide resets the stack to the main flow.
- Auth flow — new users register with email OTP, phone OTP, and a PIN. Returning users log in with their email and PIN.
The app checks for a stored authentication token on startup. If a valid token exists, the authenticated stack loads immediately after the Splash screen, skipping the auth flow entirely.