Представляет из себя симулятор магазина Ozon с возможностью создания заказов, их управлением, а также перемещением заказа по логистической цепочке.

Untitled

Генерация заказов (OrdersGenerator)

Все заказы генерируются тремя сервисами из группы “Генераторы заказов”.

В данной группе три сервиса, каждый из которых абсолютно одинаковый за исключением того, что каждый генерирует свой “подтип” заказа.

Каждый сервис из этой группы взаимодействует с сервисом CustomerService, для получения данных о клиентах.

Взаимодействие происходит через grpc ручку сервиса CustomerService.

Доработки по ходу обучения

2 неделя

До второго недели сервисы из этой группы ничего не знают про клиентов, и генерируют заказы не опираясь на это знание.

На второй неделе мы пишем CustomerService и добавляем нужный grpc сервис, а также реализуем логику на стороне генератора заказа.

4 неделя

До четвертой недели сервисы ничего не знают про Kafka, все сгенерированные заказы никуда не уходят.

На четвертой неделе мы добавляет функциональность отправки заказов в Kafka

Контракт данных отправляемых в топик pre_orders

{
    "Id": 82788613,
    "Source": 1,
    "Customer": {
        "Id": 1333768,
        "Address": {
            "Region": "Montana",
            "City": "East Erich",
            "Street": "Bernier Stream",
            "Building": "0744",
            "Apartment": "447",
            "Latitude": -29.8206,
            "Longitude": -50.1263
        }
    },
    "Goods": [
        {
            "Id": 5140271,
            "Name": "Intelligent Rubber Shoes",
            "Quantity": 6,
            "Price": 2204.92,
            "Weight": 2802271506
        },
        {
            "Id": 2594594,
            "Name": "Rustic Frozen Pants",
            "Quantity": 8,
            "Price": 1576.55,
            "Weight": 3174423838
        },
        {
            "Id": 6005559,
            "Name": "Practical Plastic Soap",
            "Quantity": 2,
            "Price": 1034.51,
            "Weight": 2587375422
        }
    ]
}