-
Notifications
You must be signed in to change notification settings - Fork 1
I. Features and Functionality
This page covers the features and functionality of the ecommerce application and assumes the project is already ready to run.
The Web ui is build in a seperate project that can be found here. That project is not necessary.
// TBD add some text how to use and where to find the main feature.
Each service automatically creates a Swagger UI. You should find the Swagger UI page for each service at <serviceUrl>/swagger/index.html
. The Swagger UI allowes you test the services Web API Endpoints.
To test the Endpoints:
- Click on
/api/authentication/register
- Click
Try it out
- Optionally change the POST body data
- Click
Execute
Then swagger makes a request to the endpoint and you should see a similar result like the following. There you can see the response.
Find further informations about swagger here
This is a short overview of all features the user can execute via the api:
Feature | Service | Endpoint | Frontend Url |
---|---|---|---|
Customer registers new account | Account Service | POST /api/Authentication/register | TBD |
Customer loggs into Account | Account Service | POST/api/Authentication/login | TBD |
Customer views profile data | Account Service | GET /api/CustomerProfile | TBD |
Customer edits Profile data | Account Service | PUT /api/CustomerProfile | TBD |
Customer deletes Profile/Account | Account Service | DELETE /api/CustomerProfile | TBD |
Customer searches for products | Inventory Service | GET /api/Products | TBD |
Customer views single product | Inventory Service | TBD | TBD |
Customer adds product to cart | Shopping Cart Service | PUT /api/ShoppingCart/items/{productId} | TBD |
Customer removes product from cart | Shopping Cart Service | DELETE /api/ShoppingCart/{productId} | TBD |
Customer view cart | Shopping Cart Service | GET /api/ShoppingCart | TBD |
Customer checks out cart | Shopping Cart Service | PATCH /api/ShoppingCart/state/ckeckout | |
Customer pays order (Just some blackbox feature for now) | Fulfillment Service | PUT /api/Orders/{orderId}/state/pay | |
Customer cancels order | Fulfillment Service | PUT /api/Orders/{orderId}/state/cancel | |
Adminsitrator ships order | Fulfillment Service | PUT /api/OrderManagement/{orderId}/state/ship | |
Adminsitrator views revenue | Fulfillment | GET /api/revenue | TBD |
Adminsitrator edit product informations | Inventory Service | PATCH /api/ProductManagement/{id} | TBD |
Adminsitrator adds stock | Inventory Service | PUT /api/ProductManagement/{id}/stock/add | TBD |
Adminsitrator removes stock | Inventory Service | PUT /api/ProductManagement/{id}/stock/add | TBD |
Adminsitrator adds new product | Inventory Service | POST /api/ProductManagement | TBD |
Adminsitrator deletes product | Inventory Service | DELETE /api/ProductManagement/{id} | TBD |
There are also some important features running in the background:
Feature | Service |
---|---|
Reservate products when put in shopping cart | Shopping Cart Service |
Remove products reservation when product is removed from shopping cart | Shopping Cart Service |
Timeout shopping cart and remove reservation | Shopping Cart Service |
Remove product stock when products shopping cart is ckecked out | Inventory Service |
Readd product stock when order is canceled | Inventory Service |
-
Microservices
- Inventory service: http://localhost:8080
- Account service: http://localhost:8081
- ShoppingCart service: http://localhost:8082
- Fulfillment service: http://localhost:8083
-
Infrastructure
- Postgres Database: localhost:5432
- Kafka: localhost:19092