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

    Projects

    Status

    Backlog

    Status

    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions