Milestone 3: catalog sync, batch transactions, and reports
- GET /api/v1/catalog/sync?since= — delta sync for Android offline-first - POST /api/v1/transactions/batch — idempotency-keyed batch upload (207 Multi-Status), validates product ownership, skips duplicates silently - GET /api/v1/transactions + /reports/summary — paginated list and aggregated revenue/tax/top-product reporting with date range filters - ReportsPage: stat cards, payment method breakdown, top-10 products, transaction table - Reports added to sidebar nav and router Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
14
ROADMAP.md
14
ROADMAP.md
@@ -25,13 +25,15 @@
|
||||
|
||||
---
|
||||
|
||||
## Milestone 3 — Android & Offline Sync
|
||||
- [ ] `GET /api/v1/catalog/sync?since=` for delta syncs
|
||||
- [ ] `POST /api/v1/transactions/batch` with idempotency keys
|
||||
- [ ] Android Kotlin app: MVVM, Room, offline-first flows
|
||||
## Milestone 3 — Android & Offline Sync ✅ (server-side)
|
||||
- [x] `GET /api/v1/catalog/sync?since=<ISO>` — delta sync for products, categories, taxes
|
||||
- [x] `POST /api/v1/transactions/batch` — idempotency-keyed batch upload (207 Multi-Status)
|
||||
- [x] `GET /api/v1/transactions` — paginated list with date/status/payment filters
|
||||
- [x] `GET /api/v1/transactions/reports/summary` — revenue, tax, top products, payment breakdown
|
||||
- [x] Reports page: stat cards, payment method breakdown, top products, transaction table
|
||||
- [ ] Android Kotlin app: MVVM, Room, offline-first flows (separate deliverable)
|
||||
- [ ] Background sync worker (Android)
|
||||
- [ ] Conflict resolution strategy: server-authoritative for payments
|
||||
- [ ] Admin reporting: Android-originated transactions appear in reports
|
||||
- [ ] Conflict resolution: server-authoritative for payments (enforced via idempotency)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user