The Cross-Border Bus Booking System is a web-based application that automates bus ticket reservations for both local and international travelers. It allows customers to book seats online, make payments securely, and view their tickets without visiting a booking office. The system supports different user roles including Customers, Drivers, Technicians, and Administrators, each with specific features for managing bookings, schedules, buses, and maintenance.
- 🔑 User Authentication (Secure login with password hashing & verification)
- 🎟 Seat Selection (Real-time bus seat map with availability updates)
- 💳 Payments (Supports methods such as Mobile Money and cash)
- 📅 Booking Management (Create, cancel, or update bookings)
- 🚌 Bus & Route Management (Admins can add and manage routes & buses)
- 👨💼 Role-Based Access Control (RBAC) (Customers, Drivers, Technicians, Admins)
- 🛠 Maintenance Tracking (Technicians log bus service and repairs)
- 📊 Reports & Analytics (Bookings, payments, revenue, route usage)
- Frontend: HTML, CSS, JavaScript
- Backend: PHP
- Database: MySQL
- Other Tools: Git, Apache Server
- PHP 7.4 or higher
- MySQL 5.7 or higher
- Web server (e.g., Apache or Nginx)
- Composer (for dependency management)
-
Clone the repository:
git clone https://github.com/LosBandidox/Crossborder-Bus-Booking-System.git
-
Move files into your web server root
- For XAMPP: place files in the
htdocs
folder. - For Apache: place files in
/var/www/html
.
- For XAMPP: place files in the
-
Create the database
- Create a MySQL database named
internationalbusbookingsystem
- Import the SQL file provided (
InternationalBusBookingSystem.sql
) into MySQL. - Example:
mysql -u root -p < InternationalBusBookingSystem.sql
- Create a MySQL database named
-
Configure database connection
- Edit
databaseconnection.php
anddb_connection.php
with your database credentials.
- Edit
-
Run the application
- Start the server
- Open a browser and go to:
http://localhost/Crossborder-Bus-Booking-System
- Customer: Register, search buses, book tickets, make payments, view/cancel bookings.
- Driver: View assigned trips, passenger list, and update profile.
- Technician: Log bus maintenance, view history, update profile.
- Admin: Manage routes, buses, schedules, bookings, payments, staff, and generate reports.
- Password Hashing & Verification (
password_hash
,password_verify
) - Role-Based Access Control (RBAC)
- Session Management
- Activity Logging
- Input Validation
- Booking Report
- Payment Report
- Route Performance
- Bus Utilization
- Maintenance Report
This project was developed as a Final Year Project for academic purposes.
You are free to use, modify, and improve it for educational and personal use.
⚡ Developed by David Kimathi Muthui – 2025