Skip to content

Project Module

Christian KASSE edited this page Apr 2, 2026 · 2 revisions

Project Module

The Project module provides project management capabilities including projects, tasks with comments, milestones, resource allocations, and project reporting.

Client Access

var project = essabu.project();

Available API Classes

Class Accessor Description
ProjectApi project.projects() Project CRUD
TaskApi project.tasks() Tasks and task comments
MilestoneApi project.milestones() Project milestones
ResourceAllocationApi project.resourceAllocations() Resource allocation
ReportApi project.reports() Project reports

ProjectApi

Standard CRUD at /api/project/projects.

Map proj = project.projects().create(Map.of(
    "name", "Website Redesign",
    "startDate", "2026-04-01",
    "endDate", "2026-06-30",
    "budget", 50000
));

TaskApi

Method Endpoint Description
list(PageRequest) GET /api/project/tasks List tasks
getById(UUID) GET /api/project/tasks/{id} Get task
create(Map) POST /api/project/tasks Create task
update(UUID, Map) PUT /api/project/tasks/{id} Update task
delete(UUID) DELETE /api/project/tasks/{id} Delete task
listComments(UUID, PageRequest) GET /api/project/task-comments?taskId= List comments
createComment(Map) POST /api/project/task-comments Create comment
updateComment(UUID, Map) PUT /api/project/task-comments/{id} Update comment
deleteComment(UUID) DELETE /api/project/task-comments/{id} Delete comment
Map task = project.tasks().create(Map.of(
    "projectId", projectId, "title", "Design mockups", "assigneeId", userId
));
project.tasks().createComment(Map.of("taskId", taskId, "content", "Looking good!"));

MilestoneApi and ResourceAllocationApi

Standard CRUD at /api/project/milestones and /api/project/resource-allocations.

ReportApi

Method Endpoint Description
getProjectSummary(Map) GET /api/project/reports/summary Project summary
getResourceUtilization(Map) GET /api/project/reports/resource-utilization Resource utilization

Error Scenarios

HTTP Status Cause
400 Invalid request data (missing project name, invalid dates)
401 Missing or expired authentication token
403 Insufficient permissions
404 Project, task, or milestone not found
409 Conflict (duplicate resource allocation)
422 Business rule violation (end date before start date)

Clone this wiki locally