When we say product-ordering-application, we can think of it like that we will have a product-list page such as book-list, food-list or dress-list. Somehow users or customers will see these product-lists and they can buy one of the products. Of course, at the end of it, this transaction will be logged.
Actually, in our application, we will try to implement these processes with different microservices.
To implement this application, we will use three different microservices.
Our microservices will be api-gateway, product-service and transaction-service.
In api-gateway, we will manage APIs. This microservice will be a gateway for the whole application. To access the other services, we will use this microservice. In this microservice, we will handle user-management also. We will authorize users and if the users are authorized, other services can be available.
Our microservices dependency process will be like that. First of all, the client can access the api-gateway. To access the api-gateway, the client should pass the login process. Then other services will be accessible over the api-gateway.