Transport App is an integrated, mobile-friendly PHP/MySQL application designed to digitize corporate transport operations. It replaces manual paper-based logging for Drivers, and offers transparent approval workflows for Passengers, Supervisors, and Admins.
- Attendance & GPS Clock In/Out: Drivers clock in by clicking "Start Shift". The app captures real-time GPS locations to ensure compliance.
- Trip Logbook: Drivers log destinations, passengers, and Odometer readings (KM Start and KM End).
- Expense Claims: Built-in forms to submit expenses (Gasoline, Tolls, Parking, Meals). Requires mandatory photo upload for receipts.
- Dynamic Routing & Search: Auto-complete search for destinations and passengers to speed up data entry.
- Trip Validation: Passengers can review pending trips and approve them to confirm that the driver indeed drove them to the stated destination.
- Driver Rating: Passengers can give 1-5 star ratings for the service they received.
- Overtime Approval: Supervisors can review the daily overtime conversion (Conv OT) hours of their assigned drivers, inspect their trip logs for the day, and approve the overtime.
- Expense Monitoring: Supervisors can flag suspicious expenses by adding a "Supervisor Note" (Yellow Alert) before the Admin does the final review.
- Master Data Management: Manage Users (Drivers/Passengers), Cars, and standard Destinations.
- Financial Approvals: Review driver receipts. Admins can edit amounts/liters if there are typos, read supervisor notes, and finalize expense approvals.
- Comprehensive Reporting: View and filter trip reports, expense claims, and attendance records on a monthly or annual basis.
- Backend: Pure PHP 8.x (PDO MySQL)
- Frontend: HTML5, CSS3, Vanilla JavaScript, SweetAlert2
- Database: MySQL / MariaDB
- Export/Libraries:
html2pdf.jsfor manual generation,sheetjs(xlsx) for Excel exports.
-
Clone the repository:
git clone https://github.com/hermawan-dony/ops.git cd ops -
Database Setup:
- Create a new MySQL database (e.g.,
transport_db). - Import the database schema from
schema.sql:mysql -u username -p transport_db < schema.sql
- Create a new MySQL database (e.g.,
-
Configuration:
- Open
config.phpand configure your database credentials. - The app detects the environment based on
$_SERVER['HTTP_HOST'](e.g., local vs production). Adjust the if-else block inconfig.phpto match your domain and credentials.
- Open
-
Directory Permissions:
- Ensure the
uploads/directory has write permissions so the system can save profile pictures and expense receipts.
- Ensure the
-
PWA Configuration (Optional but recommended):
- The app is PWA-ready. Edit
manifest.jsonand adjust the app name and icons to match your company branding.
- The app is PWA-ready. Edit
The application comes with a built-in, dynamically generated, bilingual User Manual (ID/EN). 👉 Click here to view the Live User Manual
Once the app is running locally, any user can also click the Manual button inside their dashboard to read the guide or download it as a PDF.
Developed for internal transportation and logistics management.