# Лабораторная работа №3 - REST API, Gateway и синхронный обмен между микросервисами
## ПИбд-42 || Тюрнер Илья

### Описание:
В рамках данной лабораторной работы были реализованы две сущности со связью "один-ко-многим", также были разработаны все CRUD-операции: получение списка записей, получение одной записи, создание, редактирование и удаление записи.
 
У сущности факультета также реализована возможность получения записи со списком всх специальностей. В этом случае сервис взаимодействует с другим сервисом. Еще реализована проверка наличия факультета по id.

У сущности специальности также реализованы возможности: получение списка записей с информацией о факультете, получение списка записей по id факультета и получение одной записи с информацией о факультете.

### Цель лабораторной работы 
изучение шаблона проектирования gateway, построения синхронного обмена между микросервисами и архитектурного стиля RESTful API

### Выбранные сущности:
- Факультет. Поля: Uuid, Name и Description 
- Специальность. Поля: Uuid, Name, CountPlaces и Faculty_Id

### Инструкция для работы
1. Клонирование репозитория:
```
git clone <ссылка-на-репозиторий>
cd <папка репозитория>
cd <папка лабораторной работы>
```

2. Запуск контейнеров:
```
docker compose up --build
```

3. Результаты:
В результате можно будет применят CRUD операции к сущностям через http запросы. Для демонстрации был выбран знакомый инструмент Postman.

### Видео с демонстрацией работы:
Размещено на платформе VK видео
https://vk.com/video/@tyurner02?z=video303312410_456239079%2Fpl_303312410_-2