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