Skip to content

Latest commit

 

History

History
35 lines (23 loc) · 1.66 KB

README.md

File metadata and controls

35 lines (23 loc) · 1.66 KB

space_reports

Клиент-серверное приложение для получения списка кораблей, соединенное gRPC

Функционал

Сервер ожидает запроса от клиента. Как только приходит запрос с координатами - случайно генерирует корабли согласно enum классу Spaceship:

alignment: Alignment
name: str
vessel_class: Vessel_class
length: float
size: int
armed: bool
officers: list[dict[str, str]]

Клиент первой версии всего лишь выводить корабли в формате json

Второй - осуществляет их отбраковку с помощью pydantic

Третьей - осуществляет добавление полученных кораблей в базу данных. Также позволяет обнаружить предателей (офицеров, которые присутствуют одновременно и на вражеском, и на союзном кораблях) и вывести их список.

Запуск

make build - формирует прото файлы

make server - запускает сервер

python3 reporting_client_* [options] - запускает клиент 1, 2 или 3.

В случае первого и второго необходимо подать координаты в формате: [int] [int] [float] [int] [int] [float] В случае третьего нужно либо добавить перед ними scan либо подать list_of_traitors