-
Notifications
You must be signed in to change notification settings - Fork 1
Home
This project is a small and expandable project and design Service-Oriented Architecture (SOA) that allows you to create a small online shop with sales,payment, shipping, warehouse service.
-
Sales
- manage products for sale
- categorize a product
- update a product
- change a product price
- manage user carts
- manage order rules such as time and discount
-
Warehouse
- manage goods quantity
- packing the orders
-
Payment
- manage payments
-
Shipping
- dispatch the orders
-
User
- manage users
- manage user rules
The communication among all domains is implemented via events and handled with spring context
-
Sales
- Cart
- Catalog
- Order
cart context handles all user baskets
the catalog has two part Category and Product and handles the overview of products
the service that handles the orders then sends event to Payment service
-
Warehouse
- stock
- packing
this part of warehouse use for managing the quantity of goods
when all orders left the stock, the packing department packs the box with breakable or normal pack rules the publish an event to sales for pack ready status
-
Payment
- Payment
- Contradiction
this part of the System used for order payment, but we must implement the third party service such as PayPal, primary cart and ..
this part of the system is used to resolve the contradiction of the order systematically or manually
Shipping
- dispatch and delivery
this part of the system handles the delivery and dispatching packs
The library works with Java 11+ and spring boot version 2.7 and higher Service Requirement: mysql or another rdbms database
in the docker folder, I created a sample of service that you want to start the program, and you can run it with installation the docker and run with docker compose up command
in the swagger folder, we can detect the documents of our end points