RentACar Backend API – RESTful Service with Spring Boot
About Project
RentACar Backend API is a backend-only project developed with Java and Spring Boot, simulating the backend logic of a car rental system. The project is fully API-driven and follows a layered and modular architecture, separating business logic, data access, and web layers to ensure maintainability and scalability.
Through this project, I gained hands-on experience with Spring Boot fundamentals, dependency injection, JPA/Hibernate, DTO mapping with ModelMapper, request validation using @Valid, and global exception handling. All APIs are documented using Swagger, making it easy to explore endpoints and understand the application structure.
The backend includes fully functional endpoints for managing brands and models, with business rules and validation (e.g., unique brand names, one-to-many relationships between brands and models). Car entity logic has been implemented with proper relations and can be extended with APIs easily. Error handling is structured using ProblemDetails, ensuring that system internals are not exposed while providing meaningful error messages to clients.
This project was developed as part of my learning journey into backend development with Spring Boot, with the goal of understanding clean architecture principles, building RESTful APIs, and creating maintainable and scalable backend code. Future improvements include authentication and authorization, APIs for the Car entity, pagination and filtering, and migrating to PostgreSQL for production readiness.
