Logo Lanfrica

Danie254-byte/kps-ict-attendance

Domain:

digital infrastructure

Record type:

software
Creator:
Dan
Host:
A secure Employee Attendance Management System for the Kenya Police Service ICT Department with GPS verification, QR attendance, IP authentication, and real-time reporting. # Kenya Police Service ICT Staff and Attachees Attendance and Daily Work Register System A production-ready web application for the **Kenya Police Service - Vigilance House ICT Office** to manage daily attendance and work records for ICT staff and attachees. ## Technology Stack - **Frontend:** HTML5, CSS3, Vanilla JavaScript (AJAX) - **Backend:** Node.js, Express.js (RESTful, MVC) - **Database:** MySQL (HeidiSQL compatible) ## Key Features - Account registration, login, password reset, profile management - Office-network verified attendance check-in / check-out - Server-side time (Africa/Nairobi) - client time is never trusted - Daily work log module (create / edit / delete) - Admin panel: dashboard, user management, attendance management, reports, audit logs - Reports exported as PDF, Excel and CSV - Security: bcrypt password hashing, sessions, CSRF, Helmet, input validation, prepared statements, login attempt limits, audit logging ## Quick Start 1. Install Node.js (18+) and MySQL. 2. Import the database: `database/schema.sql` (using HeidiSQL or the MySQL CLI). 3. Copy `.env.example` to `.env` and update the values. 4. Install dependencies: `npm install` 5. Start the server: `npm start` (or `npm run dev` for auto-reload) 6. Open `localhost` ## Default Accounts | Role | Login | Password | |-------|------------------------|------------| | Admin | gathandidaniel@gmail.com | Daniel@123 | | Staff | jdoe@police.go.ke | Staff@123 | See the `documentation/` folder for full guides. ## Project Structure ``` client/public Frontend (HTML, CSS, JS, images) server/ Express app (MVC) config/ DB & settings controllers/ Request handlers models/ Database queries routes/ API & page routes middleware/ Auth, upload, rate limiting services/ Business logic (attendance, reports) utils/ Helpers (time, validators, logger) database/ MySQL schema + sample data uploads/ …