generated sotries
This commit is contained in:
@@ -0,0 +1,49 @@
|
||||
# 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.
|
||||
|
||||
```php
|
||||
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
|
||||
Reference in New Issue
Block a user