A small start-up named "SpringCommerce" wants to build a very simple online shopping application to sell their products. In order to get to the market quickly, they just want to build an MVP (Minimum Viable Product) version with a very limited set of functionalities:
- 1. The application is simply a simple web page that shows all products on which customers can filter and search for products based on different criteria such as product category, name, price, brand, color.
- 2. If the customer finds a product that they like, they can view its details and add it to their shopping cart and proceed to place an order.
- 3. No online payment is supported yet. The customer is required to pay by cash when the product got delivered.
- 1. Build a Java Spring Boot application to perform all operations stated above. The data of the application should be stored in MySQL or Postgres DBMS.
- 2. Implementation of the following operations:
- Get a list of products by filtering multiple criteria including category, price, brand, color.
- Add a product to shopping cart.
- Check out the order.
- 3. Implementation of APIs to perform CRUD operations on the data of products, orders in the application.
- 4. Entity-relationship diagram for the database and solution diagrams for the components, infrastructure design if any.
- 5. An acceptable amount of unit tests should be covered.
- 6. Readme file includes: