https://github.com/bourgui07/carownerbackend
https://github.com/bourgui07/carownerbackend
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bourgui07/carownerbackend
- Owner: BOURGUI07
- Created: 2024-06-28T18:26:39.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-07-11T21:33:24.000Z (over 1 year ago)
- Last Synced: 2025-03-17T01:23:49.926Z (12 months ago)
- Language: Java
- Size: 90.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Car and Owner Management System
This project is a Spring Boot application that provides a REST API for managing two entities: Car and Owner. An Owner can have many Cars. The project demonstrates various technologies and best practices in modern Spring Boot applications.
## Features
- **Owner and Car Management**: Create, update, delete, and retrieve owners and their cars.
- **Role-based Access Control**: Secure endpoints with roles and permissions using basic authentication and JWT.
- **Criteria-based Searching and Filtering**: Advanced search and filter capabilities for cars and owners.
- **Internationalization (i18n)**: Support for multiple languages.
- **Data Validation**: Ensure data integrity with validation annotations.
- **JPA Auditing**: Track and log changes to entities.
- **API Documentation**: Interactive API documentation using Swagger.
- **Performance Monitoring**: Monitor application performance with Spring Actuator.
- **Caching**: Improve performance with Redis caching.
- **Logging**: Comprehensive logging using Log4j.
- **Unit and Integration Testing**: Ensure code quality with JUnit and Mockito tests.
- **HTTP Client**: Make HTTP requests using WebClient.
- **API Testing**: Use Postman for testing the API.
## Technologies
- **Spring Web**
- **MySQL**
- **Spring Data JPA**
- **Swagger**
- **WebClient**
- **Redis**
- **Spring Actuator**
- **Log4j**
- **Data Validation**
- **JPA Auditing**
- **Role-based Access Control**
- **Basic Auth**
- **JWT**
- **Criteria Builder**
- **Internationalization (i18n)**
- **JUnit**
- **Mockito**
- **Postman**
- **Maven**