How aldikurniawan19/dashboard-absesnsi works
This is a role-based school attendance and academic-management web application. Users sign in and enter a dashboard; teachers manage schedules and attendance sessions, while administrators configure school data and schedules and homeroom teachers handle approvals and student reports. The route tree also documents grading, exams, extracurriculars, and attendance reporting. Source excerpts confirm authentication/API calls and schedule-file parsing, but not the wiring of most page workflows or the live-session socket, so those connections are not inferred.
Main entry points: sidebar.tsx Role navigation · api.ts API client · use-auth.tsx Auth provider · page.tsx Role dashboard
Components 25
Identity and navigation
- Login page
src/app/(auth)/login/page.tsx - Auth provider
src/hooks/use-auth.tsx - Role dashboard
src/app/(dashboard)/page.tsx - Role navigation
src/components/layout/sidebar.tsx - API client
src/lib/api.ts
Attendance and schedules
- Timetable management
src/app/(dashboard)/admin/jadwal/page.tsx - Schedule file parser
src/lib/excel-parser.ts - Exam schedules
src/app/(dashboard)/admin/jadwal/ujian/page.tsx - Teacher timetable
src/app/(dashboard)/guru/jadwal/page.tsx - Attendance sessions
src/app/(dashboard)/guru/sesi/[id]/page.tsx - Manual attendance
src/app/(dashboard)/guru/absensi-manual/page.tsx - Session socket hook
src/hooks/use-sesi-socket.ts
Academic management
- School master data
src/app/(dashboard)/admin/master-data/page.tsx - Grade entry
src/app/(dashboard)/guru/nilai/[kelasId]/[mapelId]/page.tsx - Grade configuration
src/app/(dashboard)/admin/penilaian/konfigurasi/page.tsx - Extracurricular grades
src/app/(dashboard)/admin/penilaian/ekstrakurikuler/page.tsx
Reports and oversight
- Leave approvals
src/app/(dashboard)/wali-kelas/persetujuan-izin/page.tsx - Attendance reports
src/app/(dashboard)/laporan/kelas/page.tsx - Subject reports
src/app/(dashboard)/laporan/mapel/page.tsx - Class and student reports
src/app/(dashboard)/wali-kelas/raport/page.tsx - Audit log
src/app/(dashboard)/admin/audit-log/page.tsx - School settings
src/app/(dashboard)/admin/sekolah/page.tsx - Academic year
src/app/(dashboard)/admin/tahun-ajaran/page.tsx
Other components
- School user
- School API
Connections 22
- School user → Login page: opens
- Login page → Auth provider: submits credentials
- Auth provider → API client: requests authentication
- API client → School API: sends requests
- Auth provider → Role dashboard: routes after login
- School user → Role navigation: selects role page
- Role navigation → Role dashboard: links to overview
- Role navigation → Timetable management: links to timetable
- Role navigation → Exam schedules: links to exams
- Role navigation → Teacher timetable: links to teacher schedule
- Role navigation → Manual attendance: links to attendance
- Role navigation → School master data: links to master data
- Role navigation → Grade entry: links to grade entry
- Role navigation → Leave approvals: links to approvals
- Role navigation → Attendance reports: links to reports
- Role navigation → Subject reports: links to subject reports
- Role navigation → Class and student reports: links to student reports
- Role navigation → Audit log: links to audit
- Timetable management → Schedule file parser: parses schedule file
- Exam schedules → API client: queries and mutates exam data
- Audit log → API client: queries audit data
- Role dashboard → School settings: shows geofence status