Skip to content

Online-first MAUI data layer + post/note browsing #123

@fboucher

Description

@fboucher

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

  • IOfflineDataService and OfflineDataService created
  • Online path: reads and writes go to the API and mirror to local SQLite
  • Post list, post detail, note creation, summary list visible and functional in the MAUI app while online
  • App uses Bearer token from SecureStorage for all API calls

Stories from PRD

User stories 2, 3, 4, 14, 15

Metadata

Metadata

Assignees

No one assigned

    Labels

    apppending-epicFinished but waiting for epic branch to merge

    Projects

    Status
    pending
    Status
    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions