The Car Management API implements a complex domain model flow to rental a car. The flow simulates a real world application in terms of having a variety of rental options and business rules.
- Spring Boot (JPA, Web, Devtools, Validation, Security)
- Spring Framework
- PostgreSQL
- Maven
- Javax
- Jsonwebtoken
- Lombok
- Swagger
- [http://localhost:8080/car-rental/api/user/*]
- [http://localhost:8080/car-rental/api/admin/*]
- [http://localhost:8080/car-rental/api/files/*]
- [http://localhost:8080/car-rental/api/car/*]
- [http://localhost:8080/car-rental/api/reservation/*]
| Http Method | Path | Usage |
|---|---|---|
| GET | /car-rental/api/user/auth | get user by username |
| GET | /car-rental/api/admin/{id}/auth | get user by id (preauthorize admin) |
| GET | /car-rental/api/admin/auth/all | get all users (preauthorize admin) |
| POST | /car-rental/api/user/register | register |
| POST | /car-rental/api/user/login | login |
| PUT | /car-rental/api/user/auth | update to user |
| PUT | /car-rental/api/admin/{id}/auth | update to user (preauthorize admin) |
| PATCH | /car-rental/api/user/auth | update to password |
| DELETE | /car-rental/api/admin/{id}/auth | delete to user (preauthorize admin) |