An overview of the e-commerce app
The e-commerce app is a simple online shopping application. It provides the following features:
- A user can browse through the products.
- A user can add/remove/update the products in the cart.
- A user can place an order.
- A user can modify the shipping address.
- The application can only support a single currency.
E-commerce is a very popular domain. If we look at the features, we can divide the application into the following subdomains using bounded contexts:
- Users: This subdomain is related to users. We'll add the
users
RESTful web service, which provides REST APIs for user management. - Carts: This subdomain is related to the cart. We'll add the
carts
RESTful web service, which provides REST APIs for cart management. Users can perform CRUD operations on cart items. - Products: This subdomain is related to the products catalog. We'll add the
products
RESTful web service, which provides REST APIs to search and retrieve the products. - Orders: This subdomain is related to orders. We'll add the
orders
RESTful web service, which provides REST APIs for users to place orders. - Payment: This subdomain is related to payments. We'll add the
payment
RESTful web service, which provides REST APIs for payment processing. - Shipping: This subdomain is related to shipping. We'll add the
shipping
RESTful web service, which provides REST APIs for order tracking and shipping.
Here's a visual representation of our app's architecture:
We'll implement a RESTful web service for each of the subdomains. We'll keep the implementation simple, and we will focus on learning these concepts throughout this book.