apps/mobile/README.md
</a>
<a href="https://apps.apple.com/us/app/notesnook-take-private-notes/id1544027013">
</a>
Before you start, it is recommended that you read the contributing guidelines.
Requirements:
22.20.0 via Volta)npmTo run the app locally, first complete React Native native tooling setup:
React Native CLI QuickstartExpo is not used in this project.
Clone the monorepo:
git clone https://github.com/streetwriters/notesnook.git
# change directory
cd notesnook
Install dependencies and bootstrap the mobile workspace:
# this might take a while to complete
npm install
npm run bootstrap -- --scope=mobile
Set up an Android emulator from Android Studio (or connect a physical device), then run:
npm run start:android
If you are using a physical device, enable USB debugging.
Install CocoaPods dependencies first, then run the iOS app:
# this might take a while to complete
npm run prepare:ios
npm run start:ios
# start Metro only
npm run start:metro
# start Re.Pack bundler
npm run start:repack
The mobile app is a mixed TypeScript/JavaScript codebase.
We try to keep the stack as lean as possible:
0.8219Top-level directories in apps/mobile/:
app/: Main React Native app source (components, common, hooks, navigation, screens, services, stores, utils, etc.)android/: Android native projectios/: iOS native projecte2e/: Detox test suite and configpatches/: patch-package patchesscripts/: Mobile-specific scriptsDetox device defaults in this repo:
Pixel_5_API_36iPhone 17 Pro MaxBuild and run Android Detox tests:
npm run build:android
npm run test:android
For debug configuration:
npm run build:android:debug
npm run start:metro
npm run test:android:debug
Build and run iOS Detox tests:
npm run build:ios
npm run test:ios
If simulator tooling is missing, install AppleSimulatorUtils:
brew tap wix/brew
brew install applesimutils
Android release helpers:
npm run release:android
npm run release:android:bundle