Parent PRD
#110
Depends on
#120 (MAUI project + auth), #122 (local SQLite layer)
Summary
Implement the IOfflineDataService / OfflineDataService (online path only at this stage). Wire the SharedUI components into the MAUI shell so the app is fully demoable while online: browse posts, view post detail, create/edit notes, view summaries.
Data layer
interface IOfflineDataService
{
Task<List<Post>> GetPostsAsync();
Task<Post?> GetPostAsync(string id);
Task SaveNoteAsync(Note note);
Task UpdateNoteAsync(Note note);
Task MarkPostReadAsync(string id);
// ... mirrors UI needs
}
OfflineDataService (online path): calls remote API via PostNoteClient, mirrors results to ILocalDataService.
UI wiring
Connect SharedUI components (from #119) to IOfflineDataService:
- Post list page
- Post detail page
- Note dialog (create/edit)
- Summary list
- Settings
Acceptance Criteria
Stories from PRD
User stories 2, 3, 4, 14, 15
Parent PRD
#110
Depends on
#120 (MAUI project + auth), #122 (local SQLite layer)
Summary
Implement the
IOfflineDataService/OfflineDataService(online path only at this stage). Wire the SharedUI components into the MAUI shell so the app is fully demoable while online: browse posts, view post detail, create/edit notes, view summaries.Data layer
OfflineDataService(online path): calls remote API viaPostNoteClient, mirrors results toILocalDataService.UI wiring
Connect SharedUI components (from #119) to
IOfflineDataService:Acceptance Criteria
IOfflineDataServiceandOfflineDataServicecreatedSecureStoragefor all API callsStories from PRD
User stories 2, 3, 4, 14, 15