Overview
A web-based operations platform for running a waste-collection and recycling business. It replaces the whiteboards, spreadsheets and phone calls small haulers use to coordinate their day, putting the whole operation (trucks, drivers, routes, bins, collection jobs and warehouse intake) into one organized system a back-office team runs from a browser. At its heart it answers the everyday questions a collection company lives and dies by: which driver is on which route today, which bins still need emptying, did that job get completed, and how much material of what type came into the warehouse.
The Challenge
A collection operation is a connected chain that usually lives in people's heads and on paper, which makes status invisible and mistakes easy.
- Modelling the real operation (routes, bins, drivers, jobs and warehouse intake) as one connected system instead of disconnected lists.
- Tracking each bin's progress through a job (pending → collected → empty → not visited) so the office can see live progress.
- Keeping four roles (admin, manager, dispatcher, driver) cleanly separated, each with the right tools.
- Capturing warehouse intake by material type and weight so the business knows exactly how much it's recycling, and of what.
How I Solved It
The system models a collection operation as a connected chain: routes are defined and assigned to a driver; each route holds bins (with names and addresses); a Job ties a driver, a route and specific bins together under a unique job number; and as the truck works, each bin moves through its collection statuses so the office can watch progress in real time. When material arrives, warehouse slots record what came in, sorted by material type (plastic, paper, glass, other) and logged by weight in kilograms, and job statuses roll the work up to a completion state with total weight captured.
It's built as a server-rendered Laravel 11 (PHP 8.2) application with Blade templates styled in Tailwind CSS (a clean, responsive UI with a collapsible sidebar) plus a touch of JavaScript/AJAX for dynamic behavior: choosing a route on the job planner instantly filters the bin list to just that route's bins. Authentication, form validation and the relational data model (including a many-to-many that tracks each bin's status within each job) are all handled through Laravel's built-in tooling.
Key Features
- Role-based login and an admin area for managing accounts across the four roles.
- Driver & fleet, route, and bin management: bins registered with names and street addresses, grouped under their route.
- Job planning: pick a route and the relevant bins load automatically via a live filter.
- Live bin-status tracking: step each bin forward or back through its collection status with one click.
- Warehouse & intake tracking: record incoming material by type and weight.
- Dashboard with summary cards (total bins, active drivers, warehouse capacity) and statistics.
- Full create / view / edit / delete with paginated lists across every module.
Results & Impact
The platform turns a messy, phone-and-whiteboard process into a single source of truth: clearer dispatching, accountable collection tracking, and a precise record of exactly how much recyclable material the business processes and of what kind. It spans connected data modules from fleet to field to warehouse, role-based access with an admin-controlled permission system, and a complete operational interface, on a relational model that links drivers, routes, bins, jobs, warehouses and material intake into one coherent workflow, including the per-job, per-bin status tracking that makes collection progress genuinely visible.
