# Story 6.1: Dashboard Overview & Statistics ## Epic Reference **Epic 6:** Admin Dashboard ## User Story As an **admin**, I want **to see real-time metrics and key statistics at a glance**, So that **I can understand the current state of my practice**. ## Acceptance Criteria ### User Metrics Card - [ ] Total active clients - [ ] Individual vs company breakdown - [ ] Deactivated clients count - [ ] New clients this month ### Booking Metrics Card - [ ] Pending requests count (highlighted) - [ ] Today's consultations - [ ] This week's consultations - [ ] This month's consultations - [ ] Free vs paid breakdown - [ ] No-show rate percentage ### Timeline Metrics Card - [ ] Active case timelines - [ ] Archived timelines - [ ] Updates added this week ### Posts Metrics Card - [ ] Total published posts - [ ] Posts published this month ### Design - [ ] Clean card-based layout - [ ] Color-coded status indicators - [ ] Responsive grid ## Technical Notes ```php new class extends Component { public function with(): array { return [ 'userMetrics' => $this->getUserMetrics(), 'bookingMetrics' => $this->getBookingMetrics(), 'timelineMetrics' => $this->getTimelineMetrics(), 'postMetrics' => $this->getPostMetrics(), ]; } private function getUserMetrics(): array { return Cache::remember('admin.metrics.users', 300, fn() => [ 'total_active' => User::where('status', 'active')->whereIn('user_type', ['individual', 'company'])->count(), 'individual' => User::where('user_type', 'individual')->where('status', 'active')->count(), 'company' => User::where('user_type', 'company')->where('status', 'active')->count(), 'deactivated' => User::where('status', 'deactivated')->count(), 'new_this_month' => User::whereMonth('created_at', now()->month)->count(), ]); } }; ``` ## Definition of Done - [ ] All metric cards display correctly - [ ] Data is accurate and cached - [ ] Responsive layout - [ ] Tests pass ## Estimation **Complexity:** Medium | **Effort:** 4-5 hours