GreedyBear: Dashboard Modularization
This project aims to refactor GreedyBear's dashboard into a fully configuration-driven widget system, giving administrators the power to tailor the interface without any code changes. Currently, every widget (type, data source, size, and position) is hardcoded, making customization impossible without touching the source code. The work is organized into three layers: a Widget Registry that maps each widget to its React component, default size, and API endpoints; a Dashboard Configuration stored as a JSON blob in the backend and served via a DRF endpoint; and an Admin UI featuring drag-and-drop reordering and resizing, accessible only to superusers. All eight existing widgets will be refactored into self-contained, registry-conformant components, and a shared useWidgetData hook will eliminate duplicated data-fetching logic across the codebase. A Django DashboardConfig model will persist the global layout, with a graceful fallback to the default configuration when none exists.
Project details
Technologies
Not listed in the archive