A full-featured IT support ticketing system for the County Government of Nyeri, Kenya. Built with PHP 8, SQLite, and vanilla CSS. Role-based access for Admin, ICT Officers, and Staff. Features: ticket management, real-time online indicators, analytics dashboard, audit logging, and SLA breach alerts.
# π₯οΈ Nyeri County ICT Helpdesk System
A full-featured web-based IT support ticketing system developed for the **County Government of Nyeri, Kenya**. Built with PHP, SQLite, and vanilla CSS/JS β no frameworks required.
---
## πΈ Screenshots
> _Login Page Β· Admin Dashboard Β· Ticket Management Β· Reports_
---
## β¨ Features
### π€ User (Staff)
- Submit IT support tickets with category, priority & description
- Track ticket status with a visual progress indicator
- See which ICT officer is assigned to their issue
- Comment back and forth with the ICT team
- Profile picture upload + account settings
### π§ ICT Officer
- View all assigned tickets sorted by priority
- Upcoming / Active ticket tab for quick triage
- Update ticket status (Open β In Progress β Resolved β Closed)
- Reassign tickets to other available officers
- Reply to users directly within the ticket thread
### π‘οΈ Admin
- Full dashboard with live online user indicators (green dot)
- Assign tickets to ICT officers
- ICT Officer management (add, remove, reset passwords)
- View all users with department details
- π Real-time notification bell for new tickets (last 24h)
- **Reports & Analytics** β status charts, priority breakdown, department heatmap, officer performance, monthly volume trends, SLA breach alerts
- **Audit Log** β filterable record of all system actions with timestamps and IP addresses
### π System-wide
- Role-based access control (Admin / ICT Officer / User)
- **Remember Me** β persistent login for 30 days via secure tokens
- Profile picture upload with drag & drop
- Change password (signs out all remembered devices)
- Online presence tracking (last activity within 5 minutes)
- SLA breach detection (High: 4hrs, Medium: 24hrs, Low: 72hrs)
---
## ποΈ Project Structure
```
ict-helpdesk/
βββ database.db # SQLite database (NOT committed to git)
βββ public/
βββ index.php # Redirects to login
βββ login.php β¦