Project Duration: Tuesday, 13th October 2026 – Thursday, 15th October 2026 (12:00 PM Deadline)
Team Composition: 9 Members (Tech Lead + 8 Developers)
Core Stack: HTML5, CSS3, Vanilla JavaScript (Frontend) | Python, FastAPI, SQLite (Backend)
- Accurate Geofenced Clock-in/Clock-out: Verify employee proximity using device GPS (Haversine formula within workplace radius) before allowing attendance logging.
- Zero-Friction Mobile Experience: Fast, responsive web application runnable on any mobile or desktop browser without app store installation.
- Transparent Reporting & Administration: Real-time visibility into employee arrival times, late-arrival markers, departure times, and geofence boundary administration.
- Resilient & Modular Codebase: Clean separation of concerns between UI, Geolocation services, Database models, and API endpoints to enable parallel development for 9 team members.
+----------------------------------------------------------------------------------------------------+
| TUESDAY, OCT 13 | WEDNESDAY, OCT 14 | THURSDAY, OCT 15 (12 PM) |
|----------------------------------+----------------------------------+-------------------------------|
| Phase 1 (Morning): Scaffolding | Phase 3 (Morning): Full Flow | Phase 5 (Morning): Final QA |
| Phase 2 (Afternoon): Modules | Phase 4 (Afternoon): Edge Cases | 11:30 AM: Code Freeze |
| 17:30 Checkpoint: Standup & Sync| 17:30 Checkpoint: Integration | 12:00 PM: Project Demo |
+----------------------------------------------------------------------------------------------------+
Tuesday, Oct 13 | 09:00 - 13:00
- Project workspace scaffolding (folder structure, clean separation of backend & frontend).
- Tech Lead alignment: Establish Git branching model (
main,develop, feature branchesfeature/<name>). - Define API contracts (
/api/attendance,/api/admin,/api/employees) and shared data schemas. - Initialize baseline SQLite database and seed employee profiles.
- Distribute sprint task matrix to all 9 team members.
Tuesday, Oct 13 | 14:00 - 18:30
- Frontend Stream:
- Build mobile-first Clock-In portal layout with real-time digital clock and dynamic status indicators.
- Implement HTML5 Geolocation API client with accuracy checks and GPS permission prompts.
- Establish styling system (dark mode, glassmorphism, responsive cards, toast feedback).
- Backend Stream:
- Implement SQLite database schemas:
employees,attendance_records,geofence_settings. - Implement Haversine formula calculation for geodesic distance check in
geofence.py. - Build endpoints for employee lookup, clock-in, clock-out, and daily history retrieval.
- Implement SQLite database schemas:
- Checkpoint Sync (17:30 - 18:00): Review progress, identify blockers, verify API schemas.
Wednesday, Oct 14 | 09:00 - 13:00
- Wire client-side API calls to Python backend:
- Submit high-precision coordinates
(lat, lon)on Clock-In and Clock-Out button click. - Receive backend verification responses (Success vs. Outside Workplace Radius).
- Submit high-precision coordinates
- Build Admin Management Dashboard:
- Dynamic geofence coordinates & radius editor (default 150m workplace perimeter).
- Live attendance log view with filtering (Date, Employee ID, Status).
- Summary metrics: Staff Present, Clocked Out, Late Arrival (>09:00 AM), Out of Bounds attempts.
Wednesday, Oct 14 | 14:00 - 18:30
- GPS Integrity & Fallbacks:
- Handle GPS permission denials and timeout retries.
- Reject poor accuracy readings (accuracy threshold > 60m rejected with prompt to enable high accuracy).
- Reject duplicate clock-ins within the same shift.
- UI Polish:
- Add live radar/distance-to-office counter (e.g., "You are 24 meters from office - Inside Geofence").
- Add CSV export for Admin attendance logs.
- Integration Test Checkpoint (17:30 - 18:00): Full end-to-end rehearsal on mobile browsers and desktop.
Thursday, Oct 15 | 08:30 - 12:00 PM
- 08:30 - 10:00: Comprehensive regression testing across devices; verify edge cases (out-of-bounds clock-in attempt, late arrival tagging).
- 10:00 - 11:00: Populate realistic demonstration data (attendance records across multiple days/departments).
- 11:00 - 11:30: Code freeze, README documentation updates, final review of deliverables.
- 11:30 - 12:00: Live project walkthrough and presentation.
- An employee can open the web app on their phone, grant GPS permission, and see their real-time distance from the office.
- Clicking "Clock In" inside the office radius logs their arrival time and marks their attendance status.
- Clicking "Clock In" outside the office radius returns an informative refusal message with the measured distance.
- An employee can click "Clock Out" at the end of their shift with recorded departure time and hours worked.
- Admin portal allows viewing all employee attendance records, exporting to CSV, and modifying office coordinates.
- The entire project runs with a single command:
python run.py.