43 lines
1.6 KiB
Markdown
43 lines
1.6 KiB
Markdown
# PRD: Mobile Client
|
|
|
|
**Module:** `mobile/` | **Namespace:** TBD
|
|
**Status:** Deferred (v2+) | **Last updated:** 2026-02-17
|
|
|
|
---
|
|
|
|
## 1. Overview
|
|
|
|
Mobile client is deferred to a future version. The architecture supports it via the same Auth GW + SSE pattern used by the web and TUI clients.
|
|
|
|
## 2. Options to Evaluate
|
|
|
|
| Option | Pros | Cons |
|
|
|--------|------|------|
|
|
| **PWA (web-sm)** | Zero extra work — web UI works on mobile browsers. Add manifest + service worker for installability. | Limited push notifications, no native feel. |
|
|
| **ClojureDart** | Stay in Clojure ecosystem. Compiles to Dart/Flutter. | Immature ecosystem, debugging harder. |
|
|
| **React Native + API** | Mature ecosystem, native feel, large talent pool. | Separate language (JS/TS), not Clojure. |
|
|
|
|
## 3. Recommended Path
|
|
|
|
Start with **PWA** (progressive web app from web-sm) for mobile access in v1. Evaluate native options for v2 based on user feedback.
|
|
|
|
**PWA requirements (P2, not v1):**
|
|
- Add web app manifest to web-sm
|
|
- Add service worker for offline caching
|
|
- Responsive CSS for mobile viewports
|
|
- Touch-friendly interaction sizes
|
|
|
|
## 4. Architecture (Future Native)
|
|
|
|
Same pattern as TUI client:
|
|
```
|
|
Mobile App ←─ SSE (JSON) ──→ Mobile SM ──→ NATS
|
|
←─ HTTP POST ───→ ──→ API
|
|
```
|
|
|
|
A dedicated Mobile SM would handle push notification routing and mobile-specific optimizations (battery-aware polling, data compression).
|
|
|
|
## 5. No Test Cases
|
|
|
|
No test cases defined for the mobile client as it is deferred. Test cases will be created when a specific implementation approach is chosen.
|