Admin Dashboard Screen
Component Detail
Description
Main entry screen for organisation admins showing aggregated KPI widgets across the entire org hierarchy. Displays active peer mentors, activities this month, pending reimbursements, paused mentors, and expiring certifications as interactive stat cards. Adapts layout for both Flutter Web and mobile app embedding.
admin-dashboard-screen
Summaries
The Admin Dashboard Screen is the operational command centre for organisation administrators, delivering instant visibility into the health of the entire peer mentoring programme. By surfacing critical KPIs — active mentors, monthly activities, pending reimbursements, paused mentors, and expiring certifications — in a single glance, it eliminates the need for manual reporting and reduces administrative overhead significantly. This translates directly into faster decision-making, reduced compliance risk from missed certification renewals, and a stronger programme governance posture. Cross-platform support (web, mobile, and desktop) means administrators can stay informed and act from any device, improving responsiveness and overall programme quality.
This is a high-complexity screen with three major delivery concerns. First, it depends on both the Admin Stat Widget and Org Hierarchy Navigator sub-components, which must be delivered and tested before integration work can begin. Second, it depends on the Admin Statistics Service, which requires API contract agreement with the backend team early in the sprint. Third, cross-platform layout adaptation (Flutter Web, mobile embedding, desktop) requires dedicated QA coverage on at least three form factors.
Plan for two sprint cycles minimum: one for core widget grid and navigation, one for layout adaptation and drill-down flows. Performance testing under large org hierarchies is a critical gate before release.
Admin Dashboard Screen is a Flutter widget tree root for the admin portal, using build(context) as the primary entry point. It composes admin-stat-widget instances in a responsive grid layout and integrates org-hierarchy-navigator for org-scoped data filtering. The applyOrgFilter(orgId) interface propagates scope changes down to admin-statistics-service, which should be injected via a provider or riverpod StateNotifierProvider. Drill-down navigation via navigateToDetail(widgetType) and onStatCardTapped(StatCardType) should use GoRouter or Navigator 2.0 named routes keyed on StatCardType enum values.
Layout adaptation between Flutter Web and mobile embedding should use LayoutBuilder with breakpoints, not platform checks. Refresh logic via refreshDashboard() should debounce to prevent redundant API calls.
Responsibilities
- Render KPI stat widget grid for org-level overview
- Support drill-down navigation from widgets to detail views
- Adapt layout for web vs mobile embedding
Interfaces
build(context)
refreshDashboard()
navigateToDetail(widgetType)
onStatCardTapped(StatCardType)
applyOrgFilter(orgId)
Relationships
Dependencies (3)
Components this component depends on