A production-ready, energy-efficient attendance tracking system designed for academic and real-world deployment.
- Geo-fenced Verification: Server-side GPS validation using the Haversine Formula.
- Bio-Identity: Live face capture requirement for attendance marking.
- Real-time Synchronization: Instant attendance updates via Socket.io Relay Hub.
- Teacher Override: Manual attendance marking with mandatory audit logging.
- Green Coding: Optimized for low energy consumption and minimal network calls.
- Glassmorphic UI: Ultra-modern design with smooth transitions and blur effects.
- Frontend: React 19 (Vite), Tailwind CSS 4, Axios, Lucide Icons, React-Webcam, Socket.io-client.
- Backend: Node.js, Express 5, Mongoose, Socket.io, Multer, JWT.
- Database: MongoDB (Local or Atlas).
Detailed architectural decisions are documented in ARCHITECTURE.md.
Precise meter-level accuracy for classroom-scale geo-fencing by accounting for Earth's curvature.
- Lazy Loading: Major modules are loaded only when needed.
- Single GPS Fetch: Minimizes battery-draining polling.
- Socket.io: Reduces overhead for real-time status updates.
- Node.js (v18+)
- MongoDB (Running locally or a MongoDB Atlas URI)
cd backendnpm install- Create a
.envfile:PORT=5000 MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret UPLOAD_PATH=uploads
npm start
cd frontendnpm install- Create a
.envfile:VITE_API_URL=http://localhost:5000
npm run dev
βββ backend/
β βββ src/
β β βββ config/ # Database connection
β β βββ middleware/ # Auth & File processing
β β βββ models/ # Mongoose Schemas
β β βββ routes/ # REST API Endpoints
β β βββ utils/ # Haversine & Geo logic
β β βββ server.js # Entry point & Hub
βββ frontend/
β βββ src/
β β βββ components/ # Shared components
β β βββ contexts/ # State providers
β β βββ pages/ # Portal views
β β βββ services/ # API abstraction
βββ README.md
- Core Concepts & Green Coding
- Architecture Details
- API Reference