Skip to content

s0bieskii/CarRentalv1.1

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

85 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About project: 🚗

It is my main project which I'm still developing, it is a Spring web car rental application, that provides REST API for communication and MVC pattern. The data is stored in a relational database which is accessed through JPA/Hibernate. The application is divided into client, employee, and administrator layers, thanks to which I increase its security. The main security features of the application are the use of DTOs, Spring Validation, and the most important Spring Security, which is responsible for user authentication.

  • As a customer of a rental company we can register, login, dynamically filter available cars, rent a car, manage rentals, edit rentals and account details, delete account
  • As an employee we can manage a calendar of rentals, control the current status of the rental, edit car data, receive and give cars to customers with the creation of reports of issuance and return report.
  • As an administrator we can add new cars and assign them to rental branches, manage employees, add new employees, generate monthly reports. I created the front-end layer using Thymeleaf and Bootstrap.

TODO 📌

DONE ✔ IN PROGRESS ❗
• Design project architecture • Management panel view for employee
• Implement REST API • Management panel view for admin
• Create dynamically cars filter • Add car image
• Implement ModelViewController • Add maps with marker to rental view
• Create site layout • Confirm registration by email link with JWT
• Create site views • Fix some bugs
• Implement pagination
• Add Spring Security
• Implement login
• Implement register
• Add Spring Validation
• Implement User stuff
• Add email sender
• Add bug report

How to run:

  • Open project with InteliJ, go to: src/main/java/com/car/rental/Application.java -> right click to Application.java -> Run 'Application.main()'
  • Open CarRentalv1.1-main folder -> Open command line and type: mvn spring-boot:run
  • Open the app at:

Application will start on http://localhost:8080

What you can find in my project: 🎉

  • REST API
  • ModelViewController
  • CRUD
  • DTO
  • Dynamic entity search
  • Project patterns like Builder
  • Custom validators
  • Application logs
  • Clean code
  • Integration tests

Tech/framework used 🔧

Tech & framework used
• Java 11
• Spring Framework (MVC, Data JPA, Security, Validation)
• Spring Boot
• Hibernate/JPA
• H2Database/SQL
• Criteria API
• JUnit
• Flyway
• MapStruct
• Thymeleaf
• Bootstrap (HTML/CSS)

About

Car rental web application

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published