Skip to content

EPIC: Customizable Modular Dashboard

Epic Summary

This epic proposes the development of a fully customizable, "drag-and-drop" workspace where users can add, remove, and rearrange various data widgets. The goal is to create a dashboard that perfectly matches individual user needs, establishing Hivescan as the definitive, personalized "home base" for the Hive ecosystem.

Proposed Solution

We will re-architect the homepage into a dynamic grid-based system.

  • View Toggling: A toggle switch will be added to the top of the homepage, allowing users to switch between the current static view and their personalized interactive dashboard.
  • Edit Mode: Users can enter an "Edit Mode" to manage their dashboard, enabling them to move, resize, add, and remove widgets.
  • Layout Persistence: The user's unique layout configuration will be saved to their local storage.
  • Technical Stack: We will use the react-grid-layout library (dependencies tracked in ticket #655) for the frontend grid system.

Phased Rollout Plan

Phase 1: Foundational Grid System & Layout Persistence

  • User Story: "As a user, I want to be able to enter an 'edit mode' to move and resize the default widgets, and have my layout changes saved for my next visit."
  • Core Tasks:
    • Integrate the react-grid-layout library into the homepage.
    • Build the backend logic to save and retrieve dashboard layouts for each authenticated user.
    • This phase is the technical prerequisite for all subsequent dashboard features.

Phase 2: Widgetization of Core Components

  • User Story: "As a user, I want the standard homepage cards (e.g., Market Info, Network Stats) to be available as movable and resizable widgets in my new dashboard."
  • Core Task: Refactor all existing cards on the main page to function as modular widgets within the new grid system.

Phase 3: Widget Library & Add/Remove Functionality

  • User Story: "As a user in 'edit mode,' I want to open a library of all available widgets so I can add new ones to my dashboard and remove the ones I don't need."
  • Core Tasks:
    • Create the UI for a "widget gallery" or library.
    • Implement the functionality to add widgets from the gallery to the grid and to remove widgets from the grid.

Future Scope: User-Specific Widgets (Requires Authentication)

Once the core authentication system (Epic F-00) is complete, the following personalized widgets can be developed:

1. Widget - "My Watched Witnesses"

  • User Story: "I want a widget that shows only the witnesses I have voted for, so I can monitor their status without the noise of the full list."

2. Widget - "My Subscribed Communities"

  • User Story: "I want a widget that lists the communities I am subscribed to, so I can get a quick overview and access them easily."

3. Widget - "Personal Wallet & Balances"

  • User Story: "I want a dedicated wallet widget that shows my key balances (HIVE, HBD, HP, Savings) and my Resource Credits at a glance."

4. Widget - "Personal Balance History"

  • User Story: "I want a widget that displays a chart of my personal HIVE/HBD balance over time so that I can track my account's growth."

5. Widget - "My Watched Proposals"

  • User Story: "I want a widget that lists only the DHF proposals I am actively following or have voted on, so I can easily monitor their status."