Expo (SDK 57) + Expo Router app for shippers and drivers.
Copy .env and set:
EXPO_PUBLIC_API_URL— the backend's base URL. This must be reachable from the device/emulator you're testing on, not just from your dev machine:- Physical device on the same Wi-Fi as your machine: use your machine's LAN IP (e.g.
http://192.168.x.x:4000), notlocalhost. Find it withipconfig(Windows) — look for the IPv4 address of your active adapter. - Android emulator:
http://10.0.2.2:<port>maps to your host machine'slocalhost. - iOS simulator:
http://localhost:<port>works directly since the simulator shares the host's network. - If your machine's IP changes (different network, DHCP renewal), update this value — a stale IP here is the most common cause of "nothing happens" when creating/submitting a shipment, since the request just fails to reach the server (see the network-error handling in
CreateShipmentScreen.tsx).
- Physical device on the same Wi-Fi as your machine: use your machine's LAN IP (e.g.
EXPO_PUBLIC_GEOAPIFY_API_KEY— Geoapify API key, used for address autocomplete and reverse geocoding in the shipment creation flow.
npx expo start