init prds
This commit is contained in:
@@ -0,0 +1,42 @@
|
||||
# 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.
|
||||
Reference in New Issue
Block a user