Add Ladill Mini native Android and iOS apps.
Deploy Ladill Mini / deploy (push) Successful in 35s

Ship full-featured mobile clients with auth, payments, QRs, push notifications, and iOS polish including Figtree typography, app icons, and QR previews.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
isaacclad
2026-06-11 22:30:35 +00:00
co-authored by Cursor
parent ec9f09f997
commit ea6afb80a4
172 changed files with 12114 additions and 0 deletions
+48
View File
@@ -0,0 +1,48 @@
# Ladill Mini — iOS
Native SwiftUI app matching the Android Ladill Mini design and API.
## Requirements
- Xcode 15+ (iOS 17 deployment target)
- [XcodeGen](https://github.com/yonaskolb/XcodeGen) (`brew install xcodegen`)
## Setup
```bash
cd apps/ios
xcodegen generate
open LadillMini.xcodeproj
```
Select the **LadillMini** scheme and run on a simulator or device.
## API
The app talks to `https://mini.ladill.com/api/v1/` (configured in `LadillMini/Resources/Config/*.xcconfig`).
Auth uses bearer tokens stored in the Keychain. Device name is sent as `Ladill Mini iOS`.
## Features
- Landing, login, and multi-step registration
- Home tabs: Overview, Payment QRs, Payments, Payouts
- Afia AI assistant sheet
- Notifications inbox with unread badge
- Account menu: Profile, Settings, Security, Wallet, Billing, Support
- Optional 4-digit app PIN lock on background
## Push notifications (Firebase Cloud Messaging)
1. **`GoogleService-Info.plist`** — already at `LadillMini/Resources/GoogleService-Info.plist` (bundle ID `com.ladill.mini`, project `laddile-30129`).
2. **Xcode capability** — enable **Push Notifications** on the LadillMini target (Signing & Capabilities). The entitlements file sets `aps-environment` to `development` for debug builds.
3. **Firebase Console** — upload your **APNs authentication key** under Project Settings → Cloud Messaging so FCM can deliver to iOS devices.
4. **Physical device** — push does not work on the simulator; install on a real iPhone, sign in, and accept the notification permission prompt.
On login the app registers the FCM token via `POST /api/v1/mini/push-token` with `platform: ios`. On logout it calls `DELETE /api/v1/mini/push-token`. Tapping a notification opens the in-app notifications inbox.
## App Store
1. Set your **Development Team** in Xcode signing settings.
2. Add a 1024×1024 app icon to `Assets.xcassets/AppIcon`.
3. Archive via **Product → Archive**.