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.
- Integrate the
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."