A task management system helps a company track project work across a team: who is doing what, how long it takes, and whether it’s on schedule. This project is built around three roles — Admin, Project Manager and Regular Employee — which makes it a realistic study of role-based workflows.
The three roles
- Admin: manages all data and creates the other system users.
- Project Manager: manages project details and progress for their projects.
- Employee: submits work on each task, logging start and end times that feed into duration reports.
The interesting bit: time tracking
Because employees log start and end times per task, the system can calculate each person’s work duration and roll it up into project reports. Modelling tasks, assignments and time entries so those reports are accurate is the core learning outcome.
Technology stack
Built with PHP and MySQLi, with a Bootstrap interface. Only admins can create users, keeping account control centralised.
What you’ll learn
Role-based access control, task assignment workflows, time logging, and turning raw time entries into management reports.
Frequently asked questions
How is work duration calculated?
Each task entry stores a start and end time; the difference is summed per employee and per project.
Can a project have many managers?
Yes — extend the assignment model so several managers can share a project if your workflow needs it.
A note on using this project
Use this PHP/MySQLi project as a learning reference: read the code, run it locally, and adapt it to your own requirements rather than deploying it unchanged. If you reuse third-party components, check their licences first.