How edwardshami/attendance-app works
This is a browser-based attendance and leave-management application with administrator, manager, and employee workflows. Users sign in or create the first administrator account; the app loads shared records, then presents role-specific screens. Employees record attendance, request leave, and review notifications; administrators manage employees, attendance records, leave decisions, and work settings. Firestore persistence and Firebase initialization form the main internal data layer. The excerpts show these core paths, but do not expose every operation or all app-to-login wiring.
Main entry points: app.js App State and Routing · store.js Firestore Operations · EmployeeView.js Employee Console · Login.js Sign-in and Setup
Components 11
Access and Shell
- App State and Routing
app.js - Sign-in and Setup
components/Login.js - Navigation and Notices
components/Navbar.js
Workforce Workflows
- Admin Console
components/AdminView.js - Employee Console
components/EmployeeView.js
Persistence
- Firestore Operations
utils/store.js - Firestore
Browser Platform
- Firebase Setup
firebase-init.js - Time Service
- Network-first Worker
sw.js
Other components
- User
Connections 15
- User → Sign-in and Setup: signs in
- Sign-in and Setup → App State and Routing: returns user
components/Login.js - App State and Routing → Firestore Operations: loads records
app.js - App State and Routing → Firestore Operations: writes records
app.js - App State and Routing → Admin Console: renders for admins
app.js - App State and Routing → Employee Console: renders for employees
app.js - App State and Routing → Navigation and Notices: renders shell
app.js - Admin Console → App State and Routing: invokes actions
components/AdminView.js - Employee Console → App State and Routing: invokes actions
components/EmployeeView.js - Employee Console → Firestore Operations: adds notices
components/EmployeeView.js - Navigation and Notices → Firestore Operations: updates notices
components/Navbar.js - Firestore Operations → Firestore: reads and writes
utils/store.js - Firebase Setup → Firestore: initializes
firebase-init.js - App State and Routing → Time Service: fetches current time
app.js - Network-first Worker → User: serves requests
sw.js