Sir Syed University of Engineering & Technology (SSUET) Department of Software Engineering Semester: 4th โ Course: SE-211L (Software Design & Architecture)
The Car Rental System is a Spring Bootโbased web application that provides an easy and efficient platform for renting luxury cars.
It offers both customer and admin interfaces, built using Java (Spring Boot), HTML, and CSS, and implements multiple design patterns to ensure scalability and clean architecture.

- Provide a user-friendly interface for renting cars.
- Enable real-time operations with no booking conflicts.
- Support database integration for data persistence.
- Simplify admin operations like adding, removing, or updating vehicles.
| Category | Tools / Frameworks |
|---|---|
| Frontend | HTML, CSS |
| Backend | Java (Spring Boot) |
| IDE | IntelliJ IDEA |
| Diagram Tools | SmartDraw, Rational Rose |
| Database | H2 / MySQL (Spring Boot Integration) |
Used in Spring Boot for managing service and component instances through dependency injection using @Autowired.
Used to construct RentalOrder objects step-by-step for cleaner object creation.
Implements CarFactory to create cars for different companies dynamically and populate the database.
Executioninterface defines commands.CommandExecutorexecutes valid commands or uses aNullCommandif no match is found.
Implemented in AdminCommandMediator, observing changes made by the admin in entities such as cars or customers.
Connects incompatible interfaces PriceSetter and Calculator via CostCalculator adapter.
AdminCommandMediator centralizes communication between command classes and controllers, reducing coupling.
Used in AdminController to handle cost-setting operations between multiple PriceSetter classes.
| Actor | Functionality |
|---|---|
| Customer | Place rental order, get order details, make payments |
| Admin | Add, remove, edit cars in the database |
| System | Store and manage all rental data efficiently |
- Easy to use
- Fast and responsive
- Efficient and reliable
โ Modern and responsive UI โ User can rent cars from multiple companies โ Lookup rental order by unique ID โ Secure multi-method payment โ Dedicated Admin Dashboard
- Customer: Browse, rent, and check rental details.
- Admin: Manage cars, customers, orders, and pricing factors.
- User visits the main dashboard
- Can choose to place a rental or check details
- Admins log in to modify database entries and pricing factors
-
Spring Boot Setup
- Initialized project using Spring Initializr
- Configured entities, services, and repositories
-
Design Pattern Implementation
- Applied all eight patterns across classes and controllers
-
Integration Phase
- Connected UI to backend
- Integrated database operations
- Tested each pattern for functionality
A functional Car Rental Web Application that demonstrates:
- Strong grasp of object-oriented principles
- Practical use of multiple design patterns
- Clear architectural separation between UI, business logic, and database
- Add separate user login & profile for customers
- Implement Spring Security for authentication
- Introduce feedback and report systems per car
- Add driver/chauffeur services
- Expand beyond luxury cars
This project is developed as part of Software Design & Architecture (SE-211L) at SSUET. All rights reserved ยฉ 2025 by Team 2023F-BSE-F.
Instructor: Ms. Maham Imran & Ms. Dur-e-Shawar Agha Team Lead: Muhammad Shaheer Abbasi Contributor: Syed Muhammad Azan University: Sir Syed University of Engineering & Technology (SSUET)