Summary
Add database persistence for user profiles, enabling cross-device sync for logged-in users.
Parent Epic
Part of #309 (User Profiles & Personalization)
Dependencies
- Depends on: LocalStorage preferences issue
Deliverables
Database Schema
Backend
Sync Strategy
Testing
Sync Flow
Login detected
│
├─► LocalStorage empty?
│ └─► YES: Fetch from DB → populate LocalStorage
│ └─► NO: Compare timestamps
│ └─► DB newer: Update LocalStorage
│ └─► Local newer: Update DB
│
└─► Subscribe to preference changes → sync to DB
Acceptance Criteria
Summary
Add database persistence for user profiles, enabling cross-device sync for logged-in users.
Parent Epic
Part of #309 (User Profiles & Personalization)
Dependencies
Deliverables
Database Schema
user_profilestable:Backend
UserProfileEntity.javaUserProfileRepository.javaProfileEndpoint.javawith@BrowserCallable:Sync Strategy
usePreferenceshook to detect auth state and syncTesting
Sync Flow
Acceptance Criteria