A web application that runs the day-to-day operations of a car rental agency, from the first quote to the final invoice, including everything that happens to a vehicle in between.
What it does
- Fleet: vehicles grouped by category, with documents, insurance, repairs and oil-change tracking.
- Clients: profiles with scanned documents attached to each client file.
- Sales cycle: reservations, quotes that convert into contracts, invoices, and payment by installments.
- Incidents: accidents and traffic infractions linked to the vehicle and the contract that was active.
- Organisation: several agencies, agents and roles with their own permissions.
- Operations: a planning view of vehicle availability, expenses, and statistics dashboards.
- Documents: contracts, quotes and invoices generated as PDF, with amounts written out in words.
How I built it
The application is server-rendered PHP on MySQL. Each business entity follows the same pattern of pages (add, edit, list, details), which keeps dozens of screens consistent and easy to extend. The database has 17 tables: vehicles, categories, clients, reservations, contracts, quotes, invoices, installments, expenses, repairs, accidents, infractions, insurance, agencies, agents, roles and accounts.
PDF documents are produced with html2pdf from HTML templates, so a contract or invoice is designed like a web page and exported exactly as printed. A small JavaScript helper converts totals into words for the legal wording on invoices. Uploads (vehicle papers, client IDs, accident reports) are stored per record and listed on the details pages.
The interface is built with Bootstrap, so it adapts to smaller screens without separate templates.