How paakowtronics/geofence-attendance works
Geofence Attendance lets employees authenticate in a browser and submit GPS-backed clock-in/out actions; the API validates location and attendance rules, records sessions and technical evidence, and returns status. HR and administrators can retrieve audit evidence and export filtered attendance CSVs. The graph preserves the documented browser/API capabilities; unsampled frontend and backend links are shown only where README statements or excerpts support them.
Main entry points: App.tsx Attendance UI · prisma.service.ts Database Client · auth.service.ts Authentication · auth.controller.ts Auth Routes
Components 16
Employee Web App
- Attendance UI
apps/web/src/App.tsx - Login and Session UI
apps/web/src/App.tsx - Browser GPS
apps/web/src/App.tsx
Attendance API
- Auth Routes
apps/api/src/auth/auth.controller.ts - Authentication
apps/api/src/auth/auth.service.ts - Attendance Routes
apps/api/src/attendance/attendance.controller.ts - Attendance Rules
apps/api/src/attendance/attendance.service.ts
State and Rate Limits
- Database Client
apps/api/src/prisma.service.ts - Login Rate Limit
apps/api/src/redis.service.ts - PostgreSQL / PostGIS
apps/api/prisma/schema.prisma - Redis
Management Reporting
- Audit Query
apps/api/src/audit/audit.controller.ts - Report Routes
apps/api/src/reports/reports.controller.ts - CSV Reporting
apps/api/src/reports/reports.service.ts
Other components
- Employee
- HR / Admin
Connections 18
- Employee → Attendance UI: uses
README.md - HR / Admin → Attendance UI: uses
README.md - Attendance UI → Browser GPS: requests location
apps/web/src/App.tsx - Attendance UI → Auth Routes: calls API
- Login and Session UI → Auth Routes: calls API
apps/web/src/App.tsx - Auth Routes → Authentication: delegates to
apps/api/src/auth/auth.controller.ts - Authentication → Database Client: reads / writes
apps/api/src/auth/auth.service.ts - Authentication → Login Rate Limit: rate limits
apps/api/src/auth/auth.service.ts - Login Rate Limit → Redis: increments
apps/api/src/redis.service.ts - Attendance Routes → Attendance Rules: delegates to
apps/api/src/attendance/attendance.controller.ts - Attendance UI → Attendance Routes: submits GPS
- Attendance Rules → Database Client: records / reads
apps/api/src/attendance/attendance.service.ts - Report Routes → CSV Reporting: delegates to
apps/api/src/reports/reports.controller.ts - CSV Reporting → Database Client: reads records
apps/api/src/reports/reports.service.ts - Attendance UI → Report Routes: requests CSV
- Audit Query → Database Client: reads evidence
apps/api/src/audit/audit.controller.ts - Attendance UI → Audit Query: requests audit
- Database Client → PostgreSQL / PostGIS: queries