Proje: OkulUp · Hub: OkulUp — Domain
Dashboard Sistemi
5 Farklı Dashboard
Her rol için ayrı API endpoint ve component.
Admin Dashboard
stats: { total_schools, total_users, total_students, total_teachers }
AdminCharts: donut chart ile kullanıcı dağılımı
Manager Dashboard
stats: { students_count, teachers_count, classes_count, attendance_rate,
pending_payments, unread_messages, unread_conversations }
recent_announcements: []
Teacher Dashboard
stats: { my_classes_count, students_count, attendance_rate, attendance_rate_30d,
today_attendance_taken, unread_messages, unread_conversations }
recent_announcements: []
pending_actions: [{ type: 'attendance', label, class_id }]
today_attendance_taken → yoklama alınmadıysa pending action gösterilir
Parent Dashboard
children: [{ id, name }]
stats: { unread_messages, pending_payments, unread_conversations }
recent_announcements: []
child_summaries: [{ student_id, attendance_rate, pending_assignments, ... }]
Student Dashboard
stats: { attendance_rate, pending_assignments, ... }
Dashboard Rol Belirleme
getDashboardRole(user, context) — backend dashboard_* permission’larına göre:
dashboard_admin→ admin dashboarddashboard_teacher→ teacher dashboard
Bu bir admin’i teacher dashboard’da gösterebilir (okul yönetim amaçlı).
Component’ler
src/components/modules/dashboard/:
DashboardHeader,StatsSection,StatCard,QuickActions,QuickActionCardRecentActivities,ActivityItem,TodaysTasks,TaskItemWidgetSection,WidgetSettings— özelleştirilebilir dashboard widget’larıMyClasses,ClassCard— teacher için sınıf listesiAnnouncementCTA,UpcomingEvents,UpcomingAssignmentscharts/:MiniDonutChart,MiniBarChart,StackedBarChart,ProgressRing,RadarChart,ChartCardAdminCharts,ManagerCharts,TeacherCharts,ParentCharts,StudentCharts,ChildPerformanceRadar
Cache
staleTime: 5 dakika, gcTime: 30 dakika, refetchOnMount: 'always'
Related
- user-roles — her rol için farklı dashboard
- permission-system — getDashboardRole, dashboard_* permissions