OrderManagementService is a microservice designed to manage orders. It is built using Spring Boot and follows best practices for RESTful services. This service handles CRUD operations for orders and provides a robust API for integrating with other services or front-end applications.
- CRUD operations for managing orders
- Integration with PostgreSQL database
- Liquibase for database versioning
- Swagger/OpenAPI for API documentation
- Exception handling and validation
- Integration with external services using REST
- Docker support for containerized deployment
- Unit testing
- Java 17
- Spring Boot 3.3.1
- Spring Data JPA
- Maven
- PostgreSQL
- Liquibase
- MapStruct 1.5.0.Final
- SpringDoc OpenAPI 2.5.0
- Log4j 2.23.1
- Hibernate Validator 8.0.0.Final
- Apache POI 5.2.3
- iText7 8.0.4
- JUnit 5
- Mockito
- Docker + Docker Compose
- Clone the repository:
git clone https://github.com/akerumort/OrderManagementService.git cd OrderManagementService
- Build the project:
./mvnw clean install
- Set up the PostgreSQL database:
CREATE DATABASE order_management_db; CREATE USER postgres WITH ENCRYPTED PASSWORD 'postgresadmin'; GRANT ALL PRIVILEGES ON DATABASE order_management_db TO postgres;
- Update the src/main/resources/application.properties file with your database credentials
- Run the application using Maven:
./mvnw spring-boot:run
- The application will start on http://localhost:8080
-
Ensure Docker and Docker Compose are installed.
-
Build and start the containers:
docker-compose up --build
-
The application will start on http://localhost:8080
- Run the tests using Maven:
./mvnw test
- Available on:
http://localhost:8080/swagger-ui/index.html
This project is licensed under the MIT License. See the LICENSE
file for more details.
For any questions or inquiries, please contact [email protected]
.