How sa-rah9/hikvision-bio-metric-system works
This is a single-campus teacher-attendance application: administrators manage teachers and attendance rules, sync genuine Hikvision biometric events, review calculated attendance, and export reports. The graph covers the documented raw-event → daily-attendance → dashboard/report workflow, plus device, teacher, and settings capabilities. Edges use the shown route/page calls, SOURCE INDEX references, or README statements; several device internals and UI routes were not sampled, so their relationships are limited to documented links.
Main entry points: prisma.ts PostgreSQL attendance store · calculate.ts Daily attendance calculation · page.tsx Daily attendance · sync.ts Event synchronization
Components 22
Admin interface
- Attendance dashboard
src/app/dashboard/page.tsx - Daily attendance
src/app/attendance/page.tsx - Raw event review
src/app/attendance/raw/page.tsx - Teacher management
src/app/teachers/teachers-client.tsx - Report filters and view
src/app/reports/page.tsx
Application API
- Device sync endpoint
src/app/api/hikvision/sync/route.ts - Teacher endpoints
src/app/api/teachers/route.ts - Teacher update endpoint
src/app/api/teachers/[id]/route.ts - Attendance settings endpoint
src/app/api/attendance/settings/route.ts - Recalculate endpoint
src/app/api/attendance/calculate/route.ts - Excel export endpoint
src/app/api/reports/excel/route.ts
Attendance domain
- PostgreSQL attendance store
src/lib/prisma.ts - Daily attendance calculation
src/lib/attendance/calculate.ts - Attendance rules
src/lib/attendance/settings.ts
Biometric integration
- Event synchronization
src/lib/sync.ts - Device adapter registry
src/lib/devices/adapter.ts - Hikvision adapter
src/lib/devices/hikvision-adapter.ts - ISAPI HTTP client
src/lib/hikvision/client.ts
Reporting
- Report data and summaries
src/lib/attendance/reports.ts - Workbook generation
src/lib/excel.ts
Other components
- Campus administrator
- Hikvision biometric device
Connections 31
- Campus administrator → Attendance dashboard: views
README.md - Campus administrator → Daily attendance: reviews
README.md - Campus administrator → Raw event review: reviews
README.md - Campus administrator → Teacher management: manages
README.md - Campus administrator → Report filters and view: views
README.md - Campus administrator → Device sync endpoint: requests sync
README.md - Teacher management → Teacher endpoints: calls
- Teacher endpoints → PostgreSQL attendance store: reads/writes teachers
src/app/api/teachers/route.ts - Teacher update endpoint → PostgreSQL attendance store: reads/updates teachers
src/app/api/teachers/[id]/route.ts - Daily attendance → Daily attendance calculation: ensures day
src/app/attendance/page.tsx - Daily attendance → Attendance rules: loads rules
src/app/attendance/page.tsx - Daily attendance → PostgreSQL attendance store: reads attendance
src/app/attendance/page.tsx - Attendance settings endpoint → Attendance rules: reads/updates
src/app/api/attendance/settings/route.ts - Attendance rules → PostgreSQL attendance store: reads/writes rules
src/lib/attendance/settings.ts - Recalculate endpoint → Daily attendance calculation: recalculates
src/app/api/attendance/calculate/route.ts - Attendance dashboard → Daily attendance calculation: refreshes attendance
src/app/dashboard/page.tsx - Daily attendance calculation → Attendance rules: loads rules
src/lib/attendance/calculate.ts - Daily attendance calculation → PostgreSQL attendance store: reads events; writes daily rows
src/lib/attendance/calculate.ts - Device sync endpoint → Event synchronization: runs sync
src/app/api/hikvision/sync/route.ts - Event synchronization → Device adapter registry: selects adapter
src/lib/sync.ts - Device adapter registry → Hikvision adapter: registers
src/lib/devices/adapter.ts - Hikvision adapter → ISAPI HTTP client: uses ISAPI client
src/lib/devices/hikvision-adapter.ts - ISAPI HTTP client → Hikvision biometric device: sends ISAPI requests
README.md - Hikvision biometric device → Event synchronization: provides genuine events
README.md - Event synchronization → PostgreSQL attendance store: stores raw events
src/lib/sync.ts - Raw event review → PostgreSQL attendance store: reads raw events
src/app/attendance/raw/page.tsx - Report filters and view → Report data and summaries: loads report data
src/app/reports/page.tsx - Excel export endpoint → Daily attendance calculation: refreshes attendance
src/app/api/reports/excel/route.ts - Excel export endpoint → Report data and summaries: fetches and summarizes
src/app/api/reports/excel/route.ts - Report data and summaries → PostgreSQL attendance store: reads daily rows
src/lib/attendance/reports.ts - Excel export endpoint → Workbook generation: builds workbook
src/app/api/reports/excel/route.ts