Deep DivesApp

Development

Local development guide for the RawStack App component.

Prerequisites

iOS

  • macOS with Xcode installed
  • CocoaPods: brew install cocoapods
  • Ruby bundler: gem install bundler

Android

  • Android Studio with Android SDK
  • An emulator or physical device connected via ADB

Setup

cd apps/app
npm install
cp .env.example .env

iOS — first time only:

bundle install
bundle exec pod install --project-directory=ios

Running

Start the Metro bundler:

npm start

Then in a separate terminal:

# iOS
npm run ios

# Android
npm run android

Project structure

apps/app/
├── src/
│   ├── navigation/      # React Navigation setup
│   ├── screens/         # Screen components
│   ├── components/      # Shared UI components
│   ├── hooks/           # Custom hooks (API, storage, etc.)
│   ├── lib/             # Utilities, API client config
│   └── types/           # TypeScript type definitions
├── ios/                 # Native iOS project
├── android/             # Native Android project
├── .env.example
└── package.json

Useful scripts

ScriptDescription
npm startStart Metro bundler
npm run iosBuild and run on iOS Simulator
npm run androidBuild and run on Android Emulator
npm run testJest unit tests
npm run test:watchJest in watch mode
npm run lintESLint