# 📱 CurrencyGuard UGX — Mobile App
React Native (Expo) mobile app for detecting fake Uganda Shilling notes.
Works on **Android** and **iOS**.
---
## đź“‹ Screens
| Screen | Description |
|---|---|
| **Home** | Denomination selector, scan button, server status |
| **Scan** | Live camera viewfinder + gallery picker |
| **Result** | Full AI verdict, confidence score, 6-point check |
| **Reference** | Security features guide for all 5 denominations |
---
## 🚀 Setup & Run
### Prerequisites
- Node.js v16+
- Expo CLI: `npm install -g expo-cli`
- Expo Go app on your Android or iOS phone
### 1. Install dependencies
```bash
cd ugx-mobile
npm install
```
### 2. Set your backend URL
Open `src/utils/api.ts` and update:
```typescript
// For local testing (use YOUR computer's IP address, not localhost):
export const API_BASE_URL = '
192.168.1.100';
// For production:
export const API_BASE_URL = '
your-app.railway.app';
```
**Find your local IP:**
- Windows: Run `ipconfig` → IPv4 Address
- Mac/Linux: Run `ifconfig | grep inet`
### 3. Start the backend server
Make sure the backend (ugx-detector) is running:
```bash
cd ../ugx-detector
npm install
npm start
```
### 4. Start the mobile app
```bash
cd ugx-mobile
npm start
# or
npx expo start
```
### 5. Open on your phone
- **Android/iOS**: Scan the QR code with the Expo Go app
- **Android Emulator**: Press `a` in the terminal
- **iOS Simulator** (Mac only): Press `i` in the terminal
---
## 📦 Build a Real APK (Android)
No Mac required for Android builds.
### Option A — EAS Build (Cloud, Recommended)
```bash
# 1. Install EAS CLI
npm install -g eas-cli
# 2. Login to Expo account (free)
eas login
# 3. Configure project
eas build:configure
# 4. Build APK
eas build --platform android --profile preview
```
- EAS builds in the cloud (5–10 minutes)
- Download the `.apk` link from the build dashboard
- Install directly on Android devices (no Play Store needed)
### Option B — Local Android Build
Requires And …