Project & Construction Management System

Job ID: 39196632

Budget: $30 – $250 USD

This document serves as a detailed guide for the freelancer developing a Project & Construction Management System using the Laravel Framework. The system will allow a Project Manager to oversee project budgets, manage purchases, assign tasks, track expenditures, and monitor progress while enabling Site Managers to request materials, track worker attendance, and ensure smooth operations. The system also integrates an Inventory Manager who oversees material distribution.

Key Features & Workflow
1. Project & Site Management
A Project Manager creates a Project, which consists of multiple Sites.
Each Site is divided into Units.
Each Unit can have multiple Phases.
Each Phase consists of multiple Tasks (which materials & worker activities will be linked to).

2. Budgeting & Expenditure Tracking
The Project Manager allocates an estimated budget for each Site and its Units.
Actual expenditure is tracked and compared with the allocated budget.
Materials assigned to Tasks are only deducted from the budget upon approval of Site Manager requests.

3. Material Purchase & Allocation
The Project Manager purchases materials, which are logged in the Inventory.
The Project Manager allocates materials to different Sites, Units, and Phases, but this allocation does not affect the budget.
Materials are deducted from the budget only when a Site Manager requests them and the Project Manager approves.

4. Task Management & Material Usage
Tasks are assigned to Phases, and all material requests are linked to specific Tasks.
When Site Managers request materials, they must specify which Task the materials will be used for.
Approved material requests update inventory levels and deduct the cost from the Task’s budget.

5. Site Manager Functions
Request Materials for specific Tasks within a Phase.
Track Worker Attendance and assign daily wages.
Submit wages for Project Manager approval before payments are recorded.
View task completion status and report progress.

6. Inventory Manager Role
Receives approved material requests from the Project Manager.
Releases materials to Site Managers and updates inventory records.
Ensures that stock levels are maintained.

7. Project Manager Dashboard
Budget vs. Real Expenditure: See how much has been spent per Site, Unit, Phase, and Task.
Material Tracking: View how many materials have been used per Task and how much remains.
Worker Overview: Number of workers, attendance, wages due for approval.
Progress Tracking: Status of all Phases and Tasks.

System Workflow - Example Scenario

Scenario 1: Project Manager Purchases & Allocates Materials
The Project Manager logs in and purchases 200 bags of cement, 100 iron rods, and 50 wood planks.
The materials are added to Inventory.
The Project Manager allocates materials to Sites, Units, and Phases but this does not affect the budget yet.

Example Allocation:
Site A → 100 cement, 50 iron rods
Site B → 50 cement, 30 iron rods
Unit 1 (Site A) → 50 wood planks

Scenario 2: Site Manager Requests Materials for a Task
The Site Manager logs in and selects a Task under a Phase.
Requests 50 bags of cement for that Task.
The request goes to the Project Manager for approval.
Once approved:
Inventory is updated to reflect materials used.
Budget for the Task is deducted accordingly.
The Inventory Manager releases materials to the Site Manager.

Scenario 3: Site Manager Tracks Attendance & Worker Wages
The Site Manager manually searches for worker names.
Marks attendance and assigns daily wages per worker.
Sends wages for approval to the Project Manager.
Once approved, the Site Manager processes end-of-day payments.

Scenario 4: Project Manager Views Dashboard Analytics
Sees total budget vs. actual expenditure per Site, Unit, Phase, and Task.
Views material usage & remaining stock.
Checks worker attendance and wages to be paid.
Monitors progress across all Phases and Tasks.
System Structure & Database Tables (Simplified)


User Roles & Permissions
Project Manager: Full access to budgets, purchases, approvals, dashboard analytics.
Site Manager: Requests materials, tracks attendance, submits wages.
Inventory Manager: Manages stock, releases approved materials.
Admin: Manages users & roles.
Related categories: PHP Laravel React.js