How ayushkumar77737/dhyan-attandance works
This repository is a React attendance and community-management application with admin and user experiences, Firebase-backed records, and a serverless Firebase Admin API for MFA. The main flow routes a visitor to login, applies protected and MFA gates, then presents role-oriented dashboards and feature pages that read or change application records. Documented routes and sampled components establish those broad stages; many feature pages were not sampled, so their internal calls and finer dependencies are not asserted.
Main entry points: App.jsx Route application · firebase.js Firebase client · AdminDashboard.jsx Admin dashboard · UserDashboard.jsx User dashboard
Components 25
App routing
- Route application
src/App.jsx
Identity and security
- Sign in
src/pages/Login.jsx - Auth gate
src/components/ProtectedRoute.jsx - MFA gate
src/components/MFAProtectedRoute.jsx - MFA setup / verify
src/pages - MFA API client
src/utils/mfa.js - MFA endpoints
api/auth - Idle logout
src/hooks/useAutoLogout.js
User workflows
- User dashboard
src/pages/UserDashboard.jsx - Attendance
src/pages/SmartAttendance.jsx - Leave management
src/pages/AbsenceManagement.jsx - ID registration
src/pages/IdRegistration.jsx - Notifications
src/pages/Notifications.jsx - Support tickets
src/pages/TicketingSupport.jsx
Admin operations
- Admin dashboard
src/pages/AdminDashboard.jsx - Profiles and users
src/pages/AllProfiles.jsx - Session feedback
src/pages/SessionFeedbacks.jsx - Activity logs
src/pages/ActivityLogs.jsx - Access control
src/utils/accessControl.js
Data and services
- Firebase Admin adapter
api/auth/firebaseAdmin.js - Activity logger
src/utils/logActivity.js - Admin action logger
src/utils/logAdminAction.js - Firebase client
src/firebase/firebase.js - Firestore
Other components
- Visitor / member / admin
Connections 34
- Visitor / member / admin → Route application: opens
- Route application → Sign in: routes to
src/App.jsx - Route application → Auth gate: guards routes
src/App.jsx - Route application → MFA gate: guards admin
src/App.jsx - Route application → Admin dashboard: routes to
src/App.jsx - Route application → User dashboard: routes to
src/App.jsx - Route application → Attendance: routes to
src/App.jsx - Route application → Leave management: routes to
src/App.jsx - Route application → Profiles and users: routes to
src/App.jsx - Route application → ID registration: routes to
src/App.jsx - Route application → Notifications: routes to
src/App.jsx - Route application → Support tickets: routes to
src/App.jsx - Route application → Session feedback: routes to
src/App.jsx - MFA gate → MFA API client: checks status
src/components/MFAProtectedRoute.jsx - MFA setup / verify → MFA API client: uses MFA API
- MFA API client → MFA endpoints: HTTP requests
src/utils/mfa.js - MFA endpoints → Firebase Admin adapter: uses admin SDK
api/auth/mfa-status.js - Admin dashboard → Firebase client: reads records
src/pages/AdminDashboard.jsx - User dashboard → Firebase client: reads records
src/pages/UserDashboard.jsx - Attendance → Firebase client: uses Firebase
src/pages/SmartAttendance.jsx - Leave management → Firebase client: uses Firebase
src/pages/AbsenceManagement.jsx - Profiles and users → Firebase client: uses Firebase
src/pages/AllProfiles.jsx - Notifications → Firebase client: uses Firebase
- Support tickets → Firebase client: reads records
src/pages/TicketingSupport.jsx - Session feedback → Firebase client: reads / deletes
src/pages/SessionFeedbacks.jsx - Activity logs → Firebase client: uses Firebase
src/pages/ActivityLogs.jsx - Admin dashboard → Access control: checks access
src/pages/AdminDashboard.jsx - Admin dashboard → Idle logout: starts timer
src/pages/AdminDashboard.jsx - User dashboard → Idle logout: starts timer
src/pages/UserDashboard.jsx - Idle logout → Activity logger: records logout
src/hooks/useAutoLogout.js - Activity logger → Firebase client: writes logs
src/utils/logActivity.js - Admin action logger → Firebase client: writes logs
src/utils/logAdminAction.js - Session feedback → Admin action logger: records deletion
src/pages/SessionFeedbacks.jsx - Firebase client → Firestore: connects
src/firebase/firebase.js