This project is a solution to the Qikserve challenge. It is built using Java and the Spring Boot framework.
- Retrieve all products:
curl --location --request GET 'http://localhost:8181/products'
- Retrieve a specific product by ID:
curl --location --request GET 'http://localhost:8181/products/{product_id}'
- Retrieve all products in the shopping cart:
curl --location --request GET 'http://localhost:8181/cart/items'
- Add a product to the shopping cart by its ID:
curl --location --request POST 'http://localhost:8181/cart/add/{product_id}'
- Retrieve the total value of the items in the shopping cart:
curl --location --request GET 'http://localhost:8181/cart/total'
- Retrieve the total savings achieved through promotions applied to the shopping cart:
curl --location --request GET 'http://localhost:8181/cart/savings'
- Spring Boot Starter Web: Starter for building web, including RESTful, applications using Spring MVC.
- Spring Boot DevTools: Provides fast application restarts, LiveReload, and configuration support.
- Spring Boot Starter Test: Starter for testing Spring Boot applications with libraries including JUnit, Hamcrest, and Mockito.
- Spring WebFlux: Provides reactive programming support for web applications.
- Reactor Test: Provides testing utilities for projects that use Reactor.
- Spring Boot Maven Plugin: Allows us to package the application as an executable JAR or WAR archive.
- Maven Compiler Plugin: Configures the Java source and target compatibility for the project.
The project is configured to use Java version 21.
The project follows the standard Maven project structure and includes the necessary configuration files for building and running the application.