Skip to content

Add durable persistence for dashboard-managed entities #32

@Lakes41

Description

@Lakes41

Summary

Introduce a persistence layer for passes, guild settings, members, and activity so dashboard changes can survive refreshes and deployments.

Current Behaviour

The dashboard relies on static mock data. Any future create, edit, or activity ingestion flow would be session-only unless backed by storage.

Expected Behaviour

The dashboard should have a storage abstraction that can support mock in-memory data locally and a durable backend store in live deployments.

Suggested Implementation

Define repository interfaces for passes, guild settings, members, and activity. Add an initial adapter for mock data and a production adapter for a selected backend storage option. Keep storage access server-side.

Files or Areas Likely Affected

  • apps/dashboard/lib/data/
  • apps/dashboard/lib/repositories/
  • apps/dashboard/app/api/
  • apps/dashboard/lib/env.ts
  • apps/dashboard/app/settings/page.tsx
  • README.md

Acceptance Criteria

  • Repository interfaces exist for core dashboard entities
  • Mock adapter preserves local development behaviour
  • Durable adapter is server-only and does not expose credentials
  • Pass and settings updates survive page refreshes in durable mode
  • Activity events can be appended and queried through the repository layer
  • Environment configuration documents the selected storage mode

Additional Notes

Do not hard-code one vendor unless maintainers have already chosen it. If storage choice is undecided, implement the interface and mock adapter first, then document the production adapter contract.

Metadata

Metadata

Assignees

No one assigned

    Labels

    GrantFox OSSIssue tracked in GrantFox OSSMaybe RewardedIssue may be eligible for a GrantFox rewardOfficial CampaignCampaign: Official Campaign

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions