37 lines
2.4 KiB
Markdown
37 lines
2.4 KiB
Markdown
# Лабораторная работа №3
|
||
|
||
## Описание
|
||
Были использованы следующие сущности:
|
||
1. Учитель. Поля: email и ФИО
|
||
2. Задание. Поля: название, предмет и id учителя
|
||
|
||
Сущности связаны связью один ко многим. У одного учителя может быть несколько заданий, у задания только один учитель.
|
||
|
||
Для каждой сущности был написан отдельный сервис.
|
||
|
||
Код каждого сервиса представляет собой полноценное API для работы с задачами и учителями.
|
||
Они включают основные операции CRUD (создание, чтение, обновление, удаление). Дополнительно можно вывести задачу с полной информацией об учителе.
|
||
|
||
В качестве хранилища данных использовалась оперативная память приложения.
|
||
|
||
Запросы к сервисам проксирует шлюз на основе Nginx. Для этого перед запуском nginx был описан конфигурационный файл nginx.conf,
|
||
в котором описан прослушиваемый порт и название сервера (в блоке server), маршруты до микросервисов и параметры проксирования (в блоке location).
|
||
|
||
Конфигурация Nginx направлена на организацию и упрощение работы с микросервисами.
|
||
|
||
Тестирование производится через расширение RestMan.
|
||
|
||
## Как запустить это?
|
||
|
||
Для запуска данной конфигурации Docker Compose выполните следующие шаги:
|
||
|
||
1. Открыть терминал и перейти в директорию, где находится docker-compose.yml.
|
||
2. Выполнить команду
|
||
```
|
||
docker compose up --build
|
||
```
|
||
3. Дождаться, пока Docker Compose запустит все контейнеры.
|
||
|
||
|
||
## Видео
|
||
Работоспособность представлена на [видео](https://vk.com/video204968285_456240927). |