Skip to content

Workshop #5: Integration between systems

Marcin Zielonka edited this page Dec 15, 2022 · 4 revisions

About πŸ“

Workshop #5 is about providing communication between services to implement some business flow. Therefore, you can find here topics such as:

  • logging
  • traceability
  • Java HTTP client and OpenFeign library

Note πŸ”­

This workshop is fully practical - therefore, the main goal will be to implement a setup of two services that are communication to each other.

Source code πŸ—ƒ

You can find the source code that represents the status of the project after this workshop - TBA

The goal we want to achieve

image

What we have

Components overview

shop-system-architecture drawio

shop-service overview:

Exposed HTTP REST API:

  • GET /baskets/{basketId} - get basket with given ID
  • POST /baskets - create a new basket
  • GET /baskets/{basketId}/items - list items in a basket
  • GET /baskets/{basketId}/items/{basketItemId} - get item in a given basket
  • POST /baskets/{basketId}/items - create a new item for given basket
  • GET /items - get list of shop items
  • GET /items/{itemId} - get shop item with given ID
  • POST /items - create a new shop item
  • GET /orders/{orderId} - get order with given ID
  • POST /orders - create a new order

Database model:

shop-service-db-model drawio

payment-service overview:

Exposed HTTP REST API:

  • GET /payments/{paymentId} - get payment with given ID
  • POST /payments - create a new payment
  • PUT /payments/{paymentId} - update payment with given ID

Database model:

payment-service-db-model drawio

Clone this wiki locally