This project is a comprehensive shopping cart system built with Java, Spring Boot, and Gradle.
This feature allows users to add items to their shopping cart. Each item may have variations (such as size, color, etc.), and the system is designed to handle these variations.
This feature allows users to remove items from their shopping cart.
This feature calculates the total price of the items in the cart. The calculation logic should be able to handle the following scenarios:
-
Multiple Discounts: The system should be able to apply multiple discounts to an item. For example, an item could have a 10% category discount and a 5% member discount. The system should apply these discounts in a sequence that gives the customer the best price.
-
Promotional Codes: The system should allow customers to enter promotional codes that can provide a fixed amount or percentage discount on the total cart value or on specific items.
-
Quantity Discounts: The system should offer discounts for buying certain quantities of an item. For example, "buy one get one free" or "buy two get 50% off the third".
This feature requires a well-designed calculation engine that can handle these complex scenarios in a straightforward and efficient manner. The engine should be flexible enough to easily add or modify calculation rules as business requirements change.
This feature allows users to add items to a wishlist for future purchase.
This feature allows users to review and rate the products they have purchased.
This feature allows users to view their past orders and easily reorder items.
This feature allows users to search for products and filter the results based on various criteria such as price, category, brand, etc.
To get started with this project, you'll need to have Java, Spring Boot, and Gradle installed on your machine.