A Java-based Transport Management System (Bus Registration System) built with Swing GUI for managing bus route registrations with separate dashboards for Administrators, Drivers, and Users.
- 🚌 Multi-role Authentication: Separate login interfaces for Admin, Driver, and User roles
- 🗺️ Route Management: Create, view, and manage bus routes with stops and schedules
- 📝 Registration System: Users can register for routes with payment tracking
- ✅ Payment Verification: Admin can verify user payments
- 🎫 Voucher Generation: PDF vouchers generated for confirmed registrations
- 📢 Driver Updates: Drivers can post updates about their routes
- 📊 Statistics: Revenue tracking and route popularity metrics
- 🔒 Secure Password Storage: Salted password hashing for user security
src/busregistrationsystem/
├── Main.java # Application entry point
├── data/
│ └── DataManager.java # Singleton data persistence manager
├── gui/
│ ├── StartPage.java # Main login/start screen
│ ├── AdminDashboard.java # Administrator interface
│ ├── DriverDashboard.java # Driver interface
│ ├── UserDashboard.java # User interface
│ └── ... # Other GUI components
├── model/
│ ├── Person.java # Abstract base class
│ ├── Admin.java # Administrator model
│ ├── User.java # Regular user model
│ ├── Driver.java # Driver model
│ ├── BusRoute.java # Bus route model
│ └── Registration.java # Registration model
└── util/
├── LogUtil.java # Logging utility
├── PasswordUtil.java # Password hashing utility
└── PDFGenerator.java # PDF voucher generation
- Java JDK 8 or higher
- Java Swing (included with JDK)
-
Clone this repository:
git clone <repository-url> cd "Transport Management System"
-
Navigate to the source directory:
cd "Final (2)/Final/Transport Management System Final/src"
-
Compile the Java files:
javac busregistrationsystem/**/*.java
-
Run the application:
java busregistrationsystem.Main
On first run, the application will automatically create default data:
- Default admin account
- Default driver account
- 3 sample bus routes
⚠️ Security Note: Default credentials are for demo purposes only. See SECURITY.md for important security information.
- INDEX.md - Complete project index and file reference
- SECURITY.md - Security warnings and recommendations
The system initializes with 3 default routes:
- Main Campus Route - University Main Gate to Hostel Area
- City Route - University Main Gate to City Center
- Express Route - University Main Gate to Business District
- Java Swing - GUI framework
- Java Serialization - Data persistence
- PDF Generation - Voucher creation
- Data is stored in
data/directory as binary.datfiles - Data files are automatically excluded from version control (see
.gitignore) - Application auto-saves after each modification
- Data is loaded on application startup
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
This project is for educational/demonstration purposes.
For detailed project documentation, see INDEX.md.