← back to Costa Rica App

README.md

40 lines

# Costa Rica — native app (Expo/EAS)

iOS + Android client for the Costa Rica directory → booking → payment marketplace.
Backend API: `~/Projects/costa-rica` (Express, `/api/app/*`).

## Stack
- Expo SDK 52 + Expo Router (file-based nav)
- `expo-secure-store` — JWT persistence
- `expo-web-browser` — Tilopay 3-D Secure redirect (`ASWebAuthenticationSession`)
- Deep-link scheme `crmarketplace://pay/return`

## Screens
| Route | Purpose |
|---|---|
| `app/index.tsx` | Directory browse (search + vertical chips) |
| `app/listing/[slug].tsx` | Listing detail |
| `app/book/[slug].tsx` | Booking + **payment** (card / SINPE Móvil) |
| `app/bookings.tsx` | My trips |
| `app/login.tsx` | Sign in / register |
| `app/host.tsx` | Host onboarding (SINPE / Plaid payout) |

## Run (dev)
```bash
npm install
npx expo start          # scan QR with Expo Go, or run a dev build
```
Point at a local backend by editing `extra.apiBase` in `app.json`.

## Build & submit — GATED (Steve only)
`eas.json` references the **account-level ASC key** (`72Y2TZT54R`) by path — never copied.
```bash
eas login && eas init          # sets extra.eas.projectId
eas build -p ios --profile production
eas submit -p ios --latest     # uses the account ASC key
```
Bundle id `com.abrams.costarica` · Apple team `3VAV3KMNZK`.

> Live build/submit, DNS, and live payment/WhatsApp keys are Steve-gated — see
> `~/.claude/yolo-queue/pending-approval/costa-rica-golive.md`.