This repository hosts the final project of the Object-Oriented Programming Module, developed as part of the Java Track at Ada Tech. The project entails a comprehensive vehicle rental system.
- Customer Registration: Allows the registration of both individual and legal entity customers.
- Vehicle Registration: Enables the registration of vehicles available for rental.
- Loan and Return of Vehicles: Facilitates the process of loaning and returning vehicles.
- Update of Records: Allows for the modification of customer and vehicle records.
- Advanced Database Searches: Provides advanced search functionalities within the database.
- Ensures uniqueness in vehicle and client registration.
- Categorizes vehicles into types with customizable base pricing rates.
- Tracks location, date, and time for rentals and returns.
- Considers fractional hours in rentals as full days.
- Offers discounts for long-term rentals based on client category.
In addition to applying object-oriented programming principles, this project prioritizes adherence to the SOLID principles and incorporates relevant design patterns. Developed entirely in Java, it's adaptable for frontend integration or association with frameworks like Spring.
- Dependency Inversion: Utilizes dependency inversion for modular decoupling.
- Interface System: Implements interfaces for versatile usability with multiple implementations.
- Validation System: Ensures data integrity through robust validation mechanisms.
- Error Handling and Exceptions: Manages errors comprehensively with effective exception handling.
- Database Integration Testing: Ongoing implementation of database integration using the Java Database Connectivity (JDBC) Driver.
This project welcomes contributions from the community. If you're interested in contributing, please fork the repository and submit a pull request. Your contributions are highly appreciated!
Feel free to add your name to the list of contributors below:
- [Your Name](link to your GitHub profile)