1.3 KiB
1.3 KiB
Story 6.2: Analytics Charts
Epic Reference
Epic 6: Admin Dashboard
User Story
As an admin, I want visual charts showing trends and historical data, So that I can analyze business patterns over time.
Acceptance Criteria
Charts Required
- Monthly Trends (Line chart): New clients and consultations per month
- Consultation Breakdown (Pie/Donut): Free vs paid ratio
- No-show Rate (Line chart): Monthly no-show trend
Features
- Date range selector (6 months, 12 months, custom)
- Chart tooltips with exact values
- Responsive charts
- Bilingual labels
Technical Notes
Use Chart.js for visualizations. Aggregate data server-side.
public function getChartData(string $period = '6m'): array
{
$months = $period === '6m' ? 6 : 12;
return [
'labels' => collect(range($months - 1, 0))->map(fn($i) => now()->subMonths($i)->format('M Y'))->toArray(),
'clients' => $this->getMonthlyClients($months),
'consultations' => $this->getMonthlyConsultations($months),
];
}
Definition of Done
- All charts render correctly
- Date range selector works
- Tooltips functional
- Mobile responsive
- Tests pass
Estimation
Complexity: Medium-High | Effort: 4-5 hours