From 281d30a89e0313c5b9e2e45c2ea88938baa19ec6 Mon Sep 17 00:00:00 2001 From: HellsSenju Date: Thu, 3 Oct 2024 16:17:37 +0400 Subject: [PATCH] lab 3 done --- tsukanova_irina_lab_3/README.md | 27 ++++++++++++++++++ .../author_service/Dockerfile | 2 +- .../author_service/author_service.py | 2 +- .../author_service/requirements.txt | Bin 66 -> 0 bytes tsukanova_irina_lab_3/book_service/Dockerfile | 2 +- .../book_service/book_service.py | 2 +- .../book_service/requirements.txt | Bin 70 -> 0 bytes tsukanova_irina_lab_3/docker-compose.yaml | 2 +- tsukanova_irina_lab_3/{nginx => }/nginx.conf | 0 tsukanova_irina_lab_3/nginx/Dockerfile | 4 --- 10 files changed, 32 insertions(+), 9 deletions(-) create mode 100644 tsukanova_irina_lab_3/README.md delete mode 100644 tsukanova_irina_lab_3/author_service/requirements.txt delete mode 100644 tsukanova_irina_lab_3/book_service/requirements.txt rename tsukanova_irina_lab_3/{nginx => }/nginx.conf (100%) delete mode 100644 tsukanova_irina_lab_3/nginx/Dockerfile diff --git a/tsukanova_irina_lab_3/README.md b/tsukanova_irina_lab_3/README.md new file mode 100644 index 0000000..4ef85d9 --- /dev/null +++ b/tsukanova_irina_lab_3/README.md @@ -0,0 +1,27 @@ +# Цуканова Ирина ПИбд-32 +# Лабораторная работа №3 - REST API, Gateway и синхронный обмен между микросервисами + +### Язык разработки приложений: Python + +## Выбранные сущности: + +- Автор. Содержит Uuid, Name, Surname +- Книга. Содержит Uuid, Title, Year, Author_id + + +## Описание: +Для каждой сущности были реализованы стандартные CRUD-операции: получение всех записей, получение конкретной записи, +создание записи, изменение записи, удаление записи. + +Дополнительно для сущности Автор прописаны: +1. Получение автора со списком его книг(с полной информацией). При этом сервис взаимодействует с другим сервисом, +чтобы получить список книг по идентификатору автора. +2. Операция проверка наличия автора по идентификатору. Это нужно для сервиса книг. + +Дополнительно для сущности Книга прописаны: +1. Получение списка записей с полной информацией об авторе (не только идентификатор). +2. Получение списка записей по идентификатору автора. Это нужно для сервиса авторов. +3. Получение конкретной записи с полной информацией об авторе. + + +## [Видео](https://drive.google.com/file/d/10qXA-jS9QIX5DnYjSAHlEhLx0OyKEk0W/view?usp=sharing) \ No newline at end of file diff --git a/tsukanova_irina_lab_3/author_service/Dockerfile b/tsukanova_irina_lab_3/author_service/Dockerfile index 1271d2d..cd6721c 100644 --- a/tsukanova_irina_lab_3/author_service/Dockerfile +++ b/tsukanova_irina_lab_3/author_service/Dockerfile @@ -5,7 +5,7 @@ FROM python:3.12-slim WORKDIR /app # Копирую файл requirements.txt в контейнер -COPY author_service/requirements.txt . +COPY requirements.txt . # Устанавливаю зависимости RUN pip install --no-cache-dir -r requirements.txt diff --git a/tsukanova_irina_lab_3/author_service/author_service.py b/tsukanova_irina_lab_3/author_service/author_service.py index 1269b38..357eeb0 100644 --- a/tsukanova_irina_lab_3/author_service/author_service.py +++ b/tsukanova_irina_lab_3/author_service/author_service.py @@ -37,7 +37,7 @@ authors: list[Author] = [ Author(name='Tess', surname='Root', uuid_='eb815350-c7b9-4446-8434-4c0640c21995') ] -books_url = 'http://localhost:5001/' +books_url = 'http://book_service:20002/' def list_jsonify(): diff --git a/tsukanova_irina_lab_3/author_service/requirements.txt b/tsukanova_irina_lab_3/author_service/requirements.txt deleted file mode 100644 index bbbb04bc6d198171252ae219000ee34398b5065b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 66 zcmezW&y696A(5e&A)CP#2#p!^7z}{en1Pppi=l`im7$QK6i5~`lmIbEg%Ma5LW0x) E0J&ibr2qf` diff --git a/tsukanova_irina_lab_3/book_service/Dockerfile b/tsukanova_irina_lab_3/book_service/Dockerfile index ab2f40b..ded1775 100644 --- a/tsukanova_irina_lab_3/book_service/Dockerfile +++ b/tsukanova_irina_lab_3/book_service/Dockerfile @@ -5,7 +5,7 @@ FROM python:3.12-slim WORKDIR /app # Копирую файл requirements.txt в контейнер -COPY book_service/requirements.txt . +COPY requirements.txt . # Устанавливаю зависимости RUN pip install --no-cache-dir -r requirements.txt diff --git a/tsukanova_irina_lab_3/book_service/book_service.py b/tsukanova_irina_lab_3/book_service/book_service.py index 67b75ba..6ce953a 100644 --- a/tsukanova_irina_lab_3/book_service/book_service.py +++ b/tsukanova_irina_lab_3/book_service/book_service.py @@ -56,7 +56,7 @@ books: list[Book] = [ author_id='eb815350-c7b9-4446-8434-4c0640c21995'), ] -authors_url = 'http://localhost:5000/' +authors_url = 'http://author_service:20001/' def list_jsonify(): diff --git a/tsukanova_irina_lab_3/book_service/requirements.txt b/tsukanova_irina_lab_3/book_service/requirements.txt deleted file mode 100644 index 41917d8efabe387e38bb9f8a0987aa512ef04fea..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 70 zcmezW&y696A(5e&A)CP#2#p!^7z}{en1Pppi=l`im7$QK6i5~`lmIbEg%Ma5LW0zQ FFaYE|3cLUS diff --git a/tsukanova_irina_lab_3/docker-compose.yaml b/tsukanova_irina_lab_3/docker-compose.yaml index b9cd210..bd9f0f6 100644 --- a/tsukanova_irina_lab_3/docker-compose.yaml +++ b/tsukanova_irina_lab_3/docker-compose.yaml @@ -21,7 +21,7 @@ services: ports: - "80:80" volumes: - - ./nginx/nginx.conf:/etc/nginx/nginx.conf + - ./nginx.conf:/etc/nginx/nginx.conf depends_on: - author_service - book_service \ No newline at end of file diff --git a/tsukanova_irina_lab_3/nginx/nginx.conf b/tsukanova_irina_lab_3/nginx.conf similarity index 100% rename from tsukanova_irina_lab_3/nginx/nginx.conf rename to tsukanova_irina_lab_3/nginx.conf diff --git a/tsukanova_irina_lab_3/nginx/Dockerfile b/tsukanova_irina_lab_3/nginx/Dockerfile deleted file mode 100644 index 65f3ec5..0000000 --- a/tsukanova_irina_lab_3/nginx/Dockerfile +++ /dev/null @@ -1,4 +0,0 @@ -FROM ubuntu:latest -LABEL authors="Main" - -ENTRYPOINT ["top", "-b"] \ No newline at end of file