Problem
All cart data is currently stored in memory and is lost when the app restarts. This prevents users from resuming shopping sessions.
Proposed Change
Add a simple SQLite persistence layer that stores cart snapshots and draft orders. Cart state should survive app restarts without affecting the existing in-memory state management or UI layer.
Acceptance Criteria
- Cart state survives app restart
- Unit tests cover create, update, and clear cart paths
- Persistence layer is isolated from Textual widget code (service layer)
- Schema supports future order and inventory tracking
- No breaking changes to existing cart or store APIs
Related
See ROADMAP.md Phase 3 - Local Checkout and Persistence
Contributor Lane: Checkout & Persistence (Issue 3/2)
Difficulty: Medium
Related Phase: Phase 3 - Local Checkout and Persistence
Problem
All cart data is currently stored in memory and is lost when the app restarts. This prevents users from resuming shopping sessions.
Proposed Change
Add a simple SQLite persistence layer that stores cart snapshots and draft orders. Cart state should survive app restarts without affecting the existing in-memory state management or UI layer.
Acceptance Criteria
Related
See ROADMAP.md Phase 3 - Local Checkout and Persistence
Contributor Lane: Checkout & Persistence (Issue 3/2)
Difficulty: Medium
Related Phase: Phase 3 - Local Checkout and Persistence