Free PHP PM API to Build Custom Project Management Apps
Open Source PHP Project Management Library That Empowers Software Developers to Build Custom Project Management Apps & Help Teams to Collaborate, Track Tasks, and Manage Resources Efficiently
What is Web2Project Library?
In the world of software development, project management is more than just a buzzword—it's the backbone of successful, timely, and efficient software delivery. Whether you’re a freelancer managing a handful of clients or a team lead coordinating a distributed dev team, having the right tools can make all the difference. That’s where Web2Project steps in—an open-source project management system designed with developers in mind. The library provides a wide range of features, including, Task & Project Management, Time Tracking, Resource Allocation, File & Document Management, Modular Architecture and so on. Users can utilize pre-built components to accelerate the development of project management applications.
Web2Project is a powerful open-source project management system designed to help teams collaborate, track tasks, and manage resources efficiently. Built as a successor to dotProject, Web2Project offers a flexible and modular architecture, making it an excellent choice for developers who want to build custom project management applications or integrate project tracking into their existing systems. The library also supports modifying the core system or add new modules to suit specific business needs with ease. Open source libraries are typically free to use, reducing development costs. Its modular design, API support, and active community make it a strong choice for businesses and developers looking for a flexible PM solution.
Getting Started with Web2Project
The recommend way to install Web2Project is via Composer. Please use the following commands for a smooth installation.
Install Web2Project via Composer
// add the following lines to your composer.json.
{
"require": {
"phpoffice/Web2Project": "dev-master"
}
}
Install Web2Project via GitHub
git clone https://github.com/web2project/web2project.git
You can download the directly from GitHub page
Role-Based Access Control
The open source Web2Project library offers fine-grained user and role permissions using ACL (Access Control Lists). Each user has specific roles, and each module or function can be limited by permission levels (view, edit, delete, etc.). This ensures only authorized users can view or manipulate data—perfect for multi-tenant applications or team-based systems.
How to Check User Permissions in Your Module via PHP Library
global $AppUI;
if (!$perms->checkModuleItem('my_module', 'view', $my_module_id)) {
$AppUI->redirect('m=public&a=access_denied');
}
Task & Project Management via PHP API
The open source Web2Project library has included a robust task and project creation and management support inside PHP applications. The library supports task management system with time estimates, dependencies, percent complete, and Gantt charts programmatically inside PHP apps. Here is simple example that shows how software developers can create a task and how to fetch and display existing tasks in a module via PHP commands.
How to Create a Task or Display Existing Tasks inside PHP Apps?
$task = new CTask();
$task->task_project = $project_id;
$task->task_name = 'Initial Planning';
$task->task_start_date = '2025-04-15 08:00:00';
$task->task_end_date = '2025-04-20 17:00:00';
$task->task_duration_type = 1; // days
$task->task_owner = $AppUI->user_id;
$task->store();
// Display Tasks
$q = new w2p_Database_Query();
$q->addTable('tasks');
$q->addQuery('*');
$q->addWhere('task_project = ' . (int)$project_id);
$tasks = $q->loadList();
Generate Reports via Reporting Engine
The open source Web2Project library supports built-in and custom reports via modules inside PHP applications. Software developers can create CSV, PDF, or web reports directly from database queries with just a couple of lines of code. This kind of export functionality is handy for custom dashboards, team metrics, or client deliverables. The following example show how developers can generate a custom CSV report using PHP commands.
How to Generate a Custom CSV Report via PHP Library?
header("Content-Type: text/csv");
header("Content-Disposition: attachment; filename=\"report.csv\"");
$output = fopen("php://output", "w");
fputcsv($output, ['Task Name', 'Start Date', 'End Date']);
foreach ($tasks as $task) {
fputcsv($output, [$task['task_name'], $task['task_start_date'], $task['task_end_date']]);
}
fclose($output);
exit;
Document and File Management
Every project can include file uploads. Documents can be versioned, associated with specific tasks, and managed per-user. Centralizing project-related documents and files is essential for organization. The open source Web2Project library could provide features for uploading, organizing, versioning, and sharing files within PHP projects.