Development
Local development guide for the RawStack App component.
Running the App locally
The App is built primarily with React Native. JavaScript and TypeScript code is served through the Metro bundler, while iOS and Android builds are run through the native platform tooling.
If you are new to the mobile stack or want more detail on project structure, native setup, and platform workflows, the official React Native documentation is worth reading before you dive deeper.
To get started locally, install dependencies and create a local environment file:
cd apps/app
npm install
cp .env.dist .envFor iOS development, you will need macOS with Xcode installed. The first time you set the project up, install the Ruby dependencies and CocoaPods as well:
cd ios
bundle install
bundle exec pod install
cd ..For Android development, you will need Android Studio, the Android SDK, and either an emulator or a physical device connected through ADB.
Once the project is configured, start Metro:
npm startThen, in a separate terminal, run the App on the target platform:
# iOS
npm run ios
# Android
npm run androidEnvironment configuration
Environment variables are managed through react-native-config. For local development, create a .env file and point API_URL at the local API.
The quick start uses:
API_URL=http://localhost:3001/v1Project structure
The App is organised around shared React Native code in src, with separate native projects for each platform.
src/navigation: React Navigation configurationsrc/screens: screen-level componentssrc/components: shared UI building blockssrc/hooks: reusable hooks for data access, storage, and app behavioursrc/lib: utilities and shared configurationsrc/types: shared TypeScript typesios: native iOS projectandroid: native Android project
Useful scripts
npm start: start the Metro bundlernpm run ios: build and run the app in the iOS Simulatornpm run android: build and run the app in the Android Emulatornpm run test: run Jest tests oncenpm run test:watch: run Jest in watch modenpm run lint: run ESLint