Complete Task Management System in PHP MySQL Free Source Code

March 11, 2024
PHP
Task Management System Project

Project: Complete Task Management System in PHP MySQL Free Source Code

In today’s dynamic business landscape, effective project management stands as a cornerstone for success. Coordinating tasks, monitoring progress, and ensuring seamless communication among team members are critical elements for achieving project goals efficiently. Leveraging technological solutions can significantly streamline these processes, and one such robust solution is the Task Management System developed in PHP and MySQL.

About Task Management System in PHP MySQL Project Free Download

The Task Management System in PHP and MySQL is designed to empower organizations to oversee project task progress effortlessly. With distinct user roles – Admin, Project Manager, and Regular Employee – the system offers tailored functionalities to meet diverse needs within the organization’s hierarchy.

The Task Management System in PHP and MySQL can help a particular company manage its project task progress. The system has three system users: the Admin, Project Manager, and the Regular Employee.

Admin users can only create the Task Management System users. The admin user or the Project Managers will create a new project first and some essential details and references of the users. When creating a project, the admin or project managers must list all the employees to handle the project’s tasks.

After completing the project, the regular employees are limited only to adding their work progress for the project they are assigned. They are also allowed to edit the data of the progress that they only submitted. Then, as the employees regularly update the system about their progress, the project managers will read or scan their activities. The project manager can check or decide if a particular task is done and need to update the system’s task status.

 

For the system’s printable report, only the admin users and project managers have access to this function or feature of the system. The Admin user is those users who have access to all of the data stored in the system’s database, especially on creating and managing system users. The Project Managers are those users that contain the project details and progress under her/his management. The Regular Employees will submit their work productivity in each task of the project.

Features of Task Management System in PHP Project

  • Login Page
  • Home Page
  • Project (CRUD Features)
  • Task List Page
  • Progress Form
  • Report Generation
  • User (CRUD Features)
  • Project Status
  • and Many More..

Let’s delve into some of the standout features of this comprehensive Task Management System:

1. Login Page

Secure access ensures that only authorized personnel can interact with the system, safeguarding sensitive project data.

2. Home Page

A centralized hub provides users with a quick overview of ongoing projects, pending tasks, and recent updates.

3. Project Management (CRUD Features)

Effortlessly create, read, update, and delete projects, enabling seamless project lifecycle management.

4. Task List Page

Organize tasks efficiently, facilitating prioritization and allocation based on project requirements.

5. Progress Form

Empower employees to update their task progress, fostering transparency and accountability within the team.

6. Report Generation

Generate insightful reports to track project performance, identify bottlenecks, and make informed decisions.

7. User Management (CRUD Features)

Efficiently manage user accounts, ensuring the right level of access and permissions for each team member.

8. Project Status

Track project status in real-time, enabling proactive intervention to mitigate risks and delays.

9. Responsive Design

Compatible across various browsers and devices, ensuring seamless accessibility for all users.

Task Management System Flowchart

The flowchart illustrates the interplay and responsibilities among the key users of the Task Management System: Admin, Project Manager, and Regular Employee.

Task Management System Flowchart

Task Management System Flowchart

Here’s a breakdown of the flowchart description:

  1. Admin (A): The Admin holds overarching authority within the system. They manage user accounts, including creating and maintaining user profiles.
  2. Project Manager (B): Project Managers oversee the execution of projects within the system. They create and manage projects, assign tasks to employees, and track project progress.
  3. Regular Employee (C): Regular Employees are tasked with executing assigned project tasks. They update task progress and submit work productivity reports within the system.
  4. Progress Form (D): This component facilitates Regular Employees’ submission of task progress updates. It serves as a platform for employees to input their work accomplishments and track their contributions to ongoing projects.
  5. Report Generation (E): Project Managers utilize this feature to generate reports based on project data. These reports offer insights into project performance, task completion rates, and other key metrics, aiding in informed decision-making and strategic planning.

Thus, the flowchart depicts a streamlined workflow within the Task Management System, where Admins oversee user management, Project Managers coordinate project activities, and Regular Employees contribute to project execution and progress tracking. Through seamless communication and collaboration among these key stakeholders, the system facilitates efficient project management and enhances organizational productivity.

Task Management System ER Diagram

Below is a comprehensive and detailed Entity-Relationship (ER) diagram depicting the structure and relationships within the Task Management System:

Task Management System ER Diagram

Task Management System ER Diagram

Entity Descriptions

  1. User:
    • Attributes:
      • user_id: Unique identifier for each user.
      • email: Email address of the user.
      • password: Encrypted password for user authentication.
      • role: Role of the user within the system (Admin, Project Manager, Regular Employee).
  2. Project:
    • Attributes:
      • project_id: Unique identifier for each project.
      • project_name: Name/title of the project.
      • description: Brief description outlining the project’s objectives and scope.
      • start_date: Date when the project commenced.
      • end_date: Date when the project is expected to conclude.
      • status: Current status of the project (e.g., ongoing, completed, pending).
      • manager_id: User ID of the Project Manager overseeing the project.
  3. Task:
    • Attributes:
      • task_id: Unique identifier for each task.
      • task_name: Name/title of the task.
      • description: Description providing additional context or details about the task.
      • status: Current status of the task (e.g., in progress, completed, pending).
      • project_id: ID of the project to which the task belongs.
      • assigned_to: User ID of the employee to whom the task is assigned.
  4. Progress:
    • Attributes:
      • progress_id: Unique identifier for each progress update.
      • task_id: ID of the task being updated.
      • date: Date and time when the progress update was made.
      • update_details: Details of the progress/update submitted by the employee.

Relationships

  • User-Project: One user can create/manage multiple projects. A project is associated with one user (creator/manager).
  • Project-Task: One project can comprise multiple tasks. Each task belongs to one project.
  • User-Task: Users (Project Managers) assign tasks to employees. Each task is assigned to one user (Regular Employee).
  • Task-Progress: Each task can have multiple progress updates. Progress updates are linked to one task.

This ER diagram captures the essence of the Task Management System, illustrating the relationships between users, projects, tasks, and progress updates. It provides a clear and structured representation of the system’s data model, facilitating efficient management and tracking of project-related activities.

Task Management System Project

  • Name of Project:Β Β Β Β  Task Management System Project
  • Language:Β Β  Β Β Β  Β Β Β  Β Β Β Β Β Β  PHP
  • Databases used: Β Β Β Β  MySQL
  • Design used:Β  Β  Β  Β  Β  Β  HTMLΒ JavaScript, Ajax, JQuery, Bootstrap
  • Browser used:Β  Β  Β  Β  Β  IE8,Β Google Chrome, Opera Mozilla
  • Software used:Β Β Β Β Β Β Β Β Β WAMP/ XAMPP/ LAMP/MAMP

Screenshots

task management system in php mysql

task management system in php mysql

task management system project

task management system project

How Does it Work

Above all, to run this project you must have installed a virtual server i.e XAMPP on your PC. Task Management System Project in PHP and MySQL with source code is free to download, Use for educational purposes only!

Follow the following steps after Starting Apache and MySQL in XAMPP:

1st Step: Firstly, Extract the file
2nd Step: After that, Copy the main project folder
3rd Step: So, you need to Paste in xampp/htdocs/

Further, Now Connecting Database

4th Step: So, for now, Open a browser and go to URL β€œhttp://localhost/phpmyadmin/”
5th Step: After that, Click on the databases tab
6th Step: So, Create a database naming β€œtms_db” and then click on the import tab
7th Step: Certainly, Click on browse file and select β€œtms_db.sql” file which is inside the β€œdb” folder
8th Step: Meanwhile, click on Go button.

After Creating Database,

9th Step: Moreover, Open a browser and go to URL β€œhttp://localhost/task_management_system”

Installation Steps

  1. Download and Extract: Begin by downloading the project files and extracting them to a local directory.
  2. Copy to Server: Copy the main project folder to the designated directory of your local server (e.g., xampp/htdocs/ for XAMPP).
  3. Database Setup: Access phpMyAdmin through your browser and create a new database named “tms_db”. Import the provided “tms_db.sql” file to initialize the database structure.
  4. Accessing the System: Once the setup is complete, navigate to “http://localhost/task_management_system” in your browser to access the Task Management System.

Admin Access

Email: admin@admin.com
Password: admin123

Project Demonstration

Here’s the video demonstration:

Conclusion

In conclusion, the Task Management System crafted using PHP and MySQL empowers organizations to enhance project management efficiency significantly. By offering a plethora of features tailored to meet the diverse needs of users at different levels, this system fosters collaboration, transparency, and accountability within project teams. Whether you’re a seasoned project manager or a budding entrepreneur, leveraging this robust solution can elevate your project management endeavors to new heights of success.

Implement the Task Management System today and witness firsthand the transformative impact it can have on your project workflows!


Related Projects: School File Management System using PHP/MySQLi, Budget Management System using PHP/MySQL, Barcode Based School Event Attendance Monitoring System using PHP/MySQL, Online School Attendance Management System in PHP MySQL, School Fees Payment Management System in PHP MySQL, School Log Management System in PHP MySQL, Preschool Management System using PHP/MySQLi, Advanced School Management System with Complete Features, Complete File Management System using PHP MySQL

Free Download Task Management System Project in PHP MySQL Source Code

Download Here
Comments
  • Almost perfect. The only feature missing is to assign a task to a member. Task A to member Y, task B to member X.

    Diego October 3, 2024 2:56 am Reply
  • problem ini php 8.2

    Anonymous May 14, 2024 4:50 pm Reply
    • What is the problem?

      Anonymous September 27, 2024 10:30 pm Reply
  • $_POST seems to be not working in online server for save progress(adding comments) but in local it is working fine .
    can u help with this ?
    what seems to be the problem

    random_user April 17, 2024 6:21 pm Reply
  • SET SQL_MODE = “NO_AUTO_VALUE_ON_ZERO”;
    START TRANSACTION;
    SET time_zone = “+00:00″;

    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;

    — Database: `tms_db`

    — ——————————————————–

    — Table structure for table `project_list`

    CREATE TABLE `project_list` (
    `id` INT(30) NOT NULL AUTO_INCREMENT,
    `name` VARCHAR(200) NOT NULL,
    `description` TEXT NOT NULL,
    `status` TINYINT(2) NOT NULL,
    `start_date` DATE NOT NULL,
    `end_date` DATE NOT NULL,
    `manager_id` INT(30) NOT NULL,
    `user_ids` TEXT NOT NULL,
    `date_created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP(),
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    — Dumping data for table `project_list`

    INSERT INTO `project_list` (`id`, `name`, `description`, `status`, `start_date`, `end_date`, `manager_id`, `user_ids`, `date_created`) VALUES
    (1, ‘Sample Project’, ‘Lorem ipsum dolor sit amet, consectetur adipiscing elit. In elementum, metus vitae malesuada mollis, urna nisi luctus ligula, vitae volutpat massa eros eu ligula. Nunc dui metus, iaculis id dolor non, luctus tristique libero. Aenean et sagittis sem. Nulla facilisi. Mauris at placerat augue. Nullam porttitor felis turpis, ac varius eros placerat et. Nunc ut enim scelerisque, porta lacus vitae, viverra justo. Nam mollis turpis nec dolor feugiat, sed bibendum velit placerat. Etiam in hendrerit leo. Nullam mollis lorem massa, sit amet tincidunt dolor lacinia at.’, 0, ‘2020-11-03’, ‘2021-01-20’, 2, ‘3,4,5’, ‘2020-12-03 09:56:56’),
    (2, ‘Sample Project 102’, ‘Sample Only’, 0, ‘2020-12-02’, ‘2020-12-31’, 2, ‘3’, ‘2020-12-03 13:51:54’);

    — ——————————————————–

    — Table structure for table `system_settings`

    CREATE TABLE `system_settings` (
    `id` INT(30) NOT NULL AUTO_INCREMENT,
    `name` TEXT NOT NULL,
    `email` VARCHAR(200) NOT NULL,
    `contact` VARCHAR(20) NOT NULL,
    `address` TEXT NOT NULL,
    `cover_img` TEXT NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    — Dumping data for table `system_settings`

    INSERT INTO `system_settings` (`id`, `name`, `email`, `contact`, `address`, `cover_img`) VALUES
    (1, ‘Task Management System’, ‘info@sample.comm’, ‘+6948 8542 623’, ‘2102 Caldwell Road, Rochester, New York, 14608’, ”);

    — ——————————————————–

    — Table structure for table `task_list`

    CREATE TABLE `task_list` (
    `id` INT(30) NOT NULL AUTO_INCREMENT,
    `project_id` INT(30) NOT NULL,
    `task` VARCHAR(200) NOT NULL,
    `description` TEXT NOT NULL,
    `status` TINYINT(4) NOT NULL,
    `date_created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP(),
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    — Dumping data for table `task_list`

    INSERT INTO `task_list` (`id`, `project_id`, `task`, `description`, `status`, `date_created`) VALUES
    (1, 1, ‘Sample Task 1’, ‘Fusce ullamcorper mattis semper. Nunc vel risus ipsum. Sed maximus dapibus nisl non laoreet. Pellentesque quis mauris odio. Donec fermentum facilisis odio, sit amet aliquet purus scelerisque eget. ‘, 3, ‘2020-12-03 11:08:58’),
    (2, 1, ‘Sample Task 2’, ‘Sample Task 2’, 1, ‘2020-12-03 13:50:15’),
    (3, 2, ‘Task Test’, ‘Sample’, 1, ‘2020-12-03 13:52:25’),
    (4, 2, ‘test 23’, ‘Sample test 23’, 1, ‘2020-12-03 13:52:40’);

    — ——————————————————–

    — Table structure for table `users`

    CREATE TABLE `users` (
    `id` INT(30) NOT NULL AUTO_INCREMENT,
    `firstname` VARCHAR(200) NOT NULL,
    `lastname` VARCHAR(200) NOT NULL,
    `email` VARCHAR(200) NOT NULL,
    `password` TEXT NOT NULL,
    `type` TINYINT(1) NOT NULL DEFAULT 2 COMMENT ‘1 = admin, 2 = staff’,
    `avatar` VARCHAR(255) NOT NULL DEFAULT ‘no-image-available.png’,
    `date_created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP(),
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    — Dumping data for table `users`

    INSERT INTO `users` (`id`, `firstname`, `lastname`, `email`, `password`, `type`, `avatar`, `date_created`) VALUES
    (1, ‘Administrator’, ”, ‘admin@admin.com’, ‘0192023a7bbd73250516f069df18b500’, 1, ‘no-image-available.png’, ‘2020-11-26 10:57:04’),
    (2, ‘John’, ‘Smith’, ‘jsmith@sample.com’, ‘1254737c076cf867dc53d60a0364f38e’, 2, ‘1606978560_avatar.jpg’, ‘2020-12-03 09:26:03’),
    (3, ‘Claire’, ‘Blake’, ‘cblake@sample.com’, ‘4744ddea876b11dcb1d169fadf494418’, 3, ‘1606958760_47446233-clean-noir-et-gradient-sombre-image-de-fond-abstrait-.jpg’, ‘2020-12-03 09:26:42’),
    (4, ‘George’, ‘Wilson’, ‘gwilson@sample.com’, ‘d40242fb23c45206fadee4e2418f274f’, 3, ‘1606963560_avatar.jpg’, ‘2020-12-03 10:46:41’),
    (5, ‘Mike’, ‘Williams’, ‘mwilliams@sample.com’, ‘3cc93e9a6741d8b40460457139cf8ced’, 3, ‘1606963620_47446233-clean-noir-et-gradient-sombre-image-de-fond-abstrait-.jpg’, ‘2020-12-03 10:47:06’);

    — ——————————————————–

    — Table structure for table `user_productivity`

    CREATE TABLE `user_productivity` (
    `id` INT(30) NOT NULL AUTO_INCREMENT,
    `project_id` INT(30) NOT NULL,
    `task_id` INT(30) NOT NULL,
    `comment` TEXT NOT NULL,
    `subject` VARCHAR(200) NOT NULL,
    `date` DATE NOT NULL,
    `start_time` TIME NOT NULL,
    `end_time` TIME NOT NULL,
    `user_id` INT(30) NOT NULL,
    `time_rendered` FLOAT NOT NULL,
    `date_created` DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP(),
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

    — Dumping data for table `user_productivity`

    INSERT INTO `user_productivity` (`id`, `project_id`, `task_id`, `comment`, `subject`, `date`, `start_time`, `end_time`, `user_id`, `time_rendered`, `date_created`) VALUES
    (1, 1, 1, ‘Sample ProgressTest 1Test 2Test 3’, ‘Sample Progress’, ‘2020-12-03′, ’08:00:00′, ’10:00:00’, 1, 2, ‘2020-12-03 12:13:28’),
    (2, 1, 1, ‘Sample Progress’, ‘Sample Progress 2’, ‘2020-12-03′, ’13:00:00′, ’14:00:00’, 1, 1, ‘2020-12-03 13:48:28’),
    (3, 1, 2, ‘Sample’, ‘Test’, ‘2020-12-03′, ’08:00:00′, ’09:00:00’, 5, 1, ‘2020-12-03 13:57:22’),
    (4, 1, 2, ‘asdasdasd’, ‘Sample Progress’, ‘2020-12-02′, ’08:00:00′, ’10:00:00’, 2, 2, ‘2020-12-03 14:36:30’);

    — ——————————————————–

    — AUTO_INCREMENT for dumped tables

    — AUTO_INCREMENT for table `project_list`
    ALTER TABLE `project_list` MODIFY `id` INT(30) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;

    — AUTO_INCREMENT for table `system_settings`
    ALTER TABLE `system_settings` MODIFY `id` INT(30) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=2;

    — AUTO_INCREMENT for table `task_list`
    ALTER TABLE `task_list` MODIFY `id` INT(30) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

    — AUTO_INCREMENT for table `users`
    ALTER TABLE `users` MODIFY `id` INT(30) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=6;

    — AUTO_INCREMENT for table `user_productivity`
    ALTER TABLE `user_productivity` MODIFY `id` INT(30) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5;

    COMMIT;

    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;

    eladio December 13, 2023 3:38 am Reply
  • Report is not Generated

    Sachin November 6, 2023 2:16 pm Reply
  • Very useful

    Bloggie August 2, 2023 10:59 pm Reply
  • Anyone need help instantly regarding any software/application project on campcodes can contact me right now. He will get my services instantly. Whatsapp+923006037178

    Regards
    Senior Software Engineer.

    Tahir Mubeen December 13, 2022 7:22 pm Reply
  • any one could help me? i cant seem to add a new project

    gian espiritu September 12, 2022 2:29 pm Reply
  • The print button does not work (you can print the reports only through windows print)

    John July 13, 2022 9:11 pm Reply
  • Hello I am Joseph I have read everything about this project and I find it interesting, I have been trying to get the free code ,and I can’t figure it out can u please help me to get this code I want to trying doing on my computer πŸ’» for school purpose

    Joseph April 12, 2022 5:12 am Reply
  • how do you put this online to a cloud server the admin password no longer works

    rider February 1, 2022 7:13 pm Reply
  • Great, I also would like to recommend you to add a file upload opion. Thank u

    Anonymous November 5, 2021 8:08 pm Reply
  • Hi admin how can i fix this , i import the database and this is the error i got.

    Error
    SQL query:

    β€” ——————————————————–

    β€”
    β€” Table structure for table `users`
    β€”

    CREATE TABLE `users` (
    `id` int(11) NOT NULL,
    `firstname` varchar(50) NOT NULL,
    `lastname` varchar(200) NOT NULL,
    `email` varchar(200) NOT NULL,
    `password` text NOT NULL,
    `type` tinyint(1) NOT NULL DEFAULT 2 COMMENT β€˜1 = admin, 2 = staff’,
    `avatar` text NOT NULL DEFAULT β€˜no-image-available.png’,
    `date_created` datetime NOT NULL DEFAULT current_timestamp()
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
    MySQL said: Documentation

    #1101 – BLOB/TEXT column β€˜avatar’ can’t have a default value

    MOHAMED MOHAMED SAID July 7, 2021 5:21 pm Reply
  • Hi admin how can i fix this , i import the database and this is the error i got.

    Error
    SQL query:

    — ——————————————————–


    — Table structure for table `users`

    CREATE TABLE `users` (
    `id` int(11) NOT NULL,
    `firstname` varchar(50) NOT NULL,
    `lastname` varchar(200) NOT NULL,
    `email` varchar(200) NOT NULL,
    `password` text NOT NULL,
    `type` tinyint(1) NOT NULL DEFAULT 2 COMMENT ‘1 = admin, 2 = staff’,
    `avatar` text NOT NULL DEFAULT ‘no-image-available.png’,
    `date_created` datetime NOT NULL DEFAULT current_timestamp()
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4
    MySQL said: Documentation

    #1101 – BLOB/TEXT column ‘avatar’ can’t have a default value

    mark June 17, 2021 4:06 pm Reply
  • great job, but there is no upload file features…could you add a file upload in productivity, it will help me alot, thanks

    buzbuz June 16, 2021 3:12 pm Reply
    • Have u seen how to do so?

      Alain November 9, 2021 7:50 pm Reply
      • If yes share with me

        Alain November 9, 2021 7:51 pm Reply
        • Who has the documentation

          Anonymous October 3, 2023 6:48 am Reply
  • nice

    donbermz April 19, 2021 11:21 pm Reply
    • thanks! cheers!

      admin April 19, 2021 11:21 pm Reply

Leave a Reply

Your email address will not be published. Required fields are marked *