- Data Access
This component mediates between your application’s business logic and the data base(s). It should be scalable and configurable.
- Catalog Component/Service
The Catalog provides the APIs and the implementation to support use cases related to the products sold by the e-store.
- Ordering Component/Service
The Ordering provides the APIs and the implementation of use cases than manage user orders.
- Identity management component/service
Provides the interfaces and the implementation for user registration, log in and out.
- Shopping cart component/service
Provides services for managing the shopping basket, including the management of state.
- Analytics component/service
Provides statistics about the application and its usage.
- Controller/API Gateway
The component/service mediates between the “model” and the “views”.
The front end can be built as a collection of dynamic views or as SPA (Single Page Application). Below are the three main views, use them as examples:
Catalog View
Displays the contents of the store organized by category and by product.
The visitor must be able to
• UC M1: browse the catalog and see All, By Brand, By Type products
• UC M2: select an item and see the information for that item (price, ratings etc.).
• UC M3: add a review for an item
• UC M5: add an individual item to shopping cart.
• UC M6: Shopping cart submit button
Shopping Cart View
The Shopping Cart Page allows a visitor to review the order
• UC C1: view all items in the shopping cart and their information (price, etc.).
• UC C2: remove individual items from the shopping cart or increase/decrease the quantity. While doing so, the total bill is updated.
• UC C3: “Checkout” submit button indicating they wish to purchase the items in the shopping cart.
Checkout View
The visitor can
• UC P1: either log into their account with a password, or create a new account.
• UC P2: for a new account they enter their account name, password, and default billing and shipping information. The new account is submitted to the Order Processing service.
• UC P3: to submit their order, they verify their billing and shipping information, and enter in their credit card number.
• UC P4: “Confirm order” button
Note: You do not need to use a 3rd party payment service for this project, create a simple payment service that mimics a real payment in this way: You honour two consecutive requests, but you deny every 3rd request of payment. If the order is approved, you should display “Order Successfully Completed.” If it is denied, you should display “Credit Card Authorization Failed.”
Registration View. Provides the user interface for registering/maintaing an account.
• UC-R1 log in
• UC-R2 log out
• UC R: Register
Administrator/Analytics Page View
The Administrator should be able to
• UC A1: generate a report with the items sold each month
• UC A2: provide reports on the website usage (see VisitEvent table)