Initialize native iOS and Android foundation with Expo
This commit is contained in:
commit
fb937848c3
22 files changed
+5103
No files matched your search
@@ -0,0 +1,44 @@
|
||||
# Model Delivery mobile
|
||||
|
||||
One React Native/Expo SDK 57 project for native Android and iOS interfaces. Hebrew RTL branding, adaptive welcome screen, native iOS Liquid Glass where supported, tonal fallback, and an optional read-only API readiness check. Uses the same immutable @model/shared package as the PWA and API.
|
||||
|
||||
**Current scope:** this is the native foundation, not the completed delivery app. SSO, account storage, SQLite/outbox, deliveries and other operational screens are the next implementation slice. There is no hidden local login or simulated authenticated data. Android styling currently establishes the brand palette and rounded tonal surfaces; full Material 3 Expressive navigation/controls remain part of the screen migration.
|
||||
|
||||
## On your Mac
|
||||
|
||||
Install Node 22.13+ (22.x), pnpm 10.10.0 via Corepack, Xcode 26.4+ with command-line tools, and CocoaPods. Clone with your private Git credentials:
|
||||
|
||||
```sh
|
||||
git clone https://git.ruff.co.il/model-dlab/delivery-app-mobile.git
|
||||
cd delivery-app-mobile
|
||||
corepack enable
|
||||
pnpm install --frozen-lockfile
|
||||
cp .env.example .env
|
||||
# Optionally fill EXPO_PUBLIC_API_URL with your HTTPS app origin + /api.
|
||||
pnpm ios
|
||||
```
|
||||
|
||||
This generates the native iOS project, installs pods and builds the development app locally. To open it in Xcode after generation:
|
||||
|
||||
```sh
|
||||
open ios/*.xcworkspace
|
||||
```
|
||||
|
||||
Select your development team for physical-device signing. The initial bundle/application ID is il.co.ruff.modeldlab.delivery; confirm it before provisioning a distributed release. You do not need a cloud build service. Real Liquid Glass requires iOS 26+; the app uses a tonal surface on older supported devices and when native glass APIs are unavailable.
|
||||
|
||||
## Android
|
||||
|
||||
Install Android Studio, the SDK and JDK required by the generated Expo project. Start an emulator or attach a device, then run pnpm android. For subsequent JS-only changes run pnpm start. The native directories are intentionally generated and ignored; app.json and config plugins are their source of truth.
|
||||
|
||||
## Checks
|
||||
|
||||
```sh
|
||||
pnpm typecheck
|
||||
pnpm test
|
||||
pnpm build
|
||||
pnpm doctor
|
||||
```
|
||||
|
||||
Build exports Metro bundles for iOS and Android; it does not compile an IPA/APK or replace Xcode/Gradle and real-device verification. The separate delivery-app-web repository owns the PWA. EXPO_PUBLIC_ values are public and baked into the bundle. Use only an HTTPS API URL; loopback and Android-emulator HTTP are allowed in development builds. No SSO client secret or provider token belongs here.
|
||||
|
||||
[Repository map](docs/repositories.md). Expo starter attribution is retained in docs/expo-template-license.txt.
|
||||
Reference in new issue
Block a user