lab 3 done

This commit is contained in:
HellsSenju 2024-10-03 16:17:37 +04:00
parent f2093f376c
commit 281d30a89e
10 changed files with 32 additions and 9 deletions

View File

@ -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)

View File

@ -5,7 +5,7 @@ FROM python:3.12-slim
WORKDIR /app WORKDIR /app
# Копирую файл requirements.txt в контейнер # Копирую файл requirements.txt в контейнер
COPY author_service/requirements.txt . COPY requirements.txt .
# Устанавливаю зависимости # Устанавливаю зависимости
RUN pip install --no-cache-dir -r requirements.txt RUN pip install --no-cache-dir -r requirements.txt

View File

@ -37,7 +37,7 @@ authors: list[Author] = [
Author(name='Tess', surname='Root', uuid_='eb815350-c7b9-4446-8434-4c0640c21995') 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(): def list_jsonify():

View File

@ -5,7 +5,7 @@ FROM python:3.12-slim
WORKDIR /app WORKDIR /app
# Копирую файл requirements.txt в контейнер # Копирую файл requirements.txt в контейнер
COPY book_service/requirements.txt . COPY requirements.txt .
# Устанавливаю зависимости # Устанавливаю зависимости
RUN pip install --no-cache-dir -r requirements.txt RUN pip install --no-cache-dir -r requirements.txt

View File

@ -56,7 +56,7 @@ books: list[Book] = [
author_id='eb815350-c7b9-4446-8434-4c0640c21995'), author_id='eb815350-c7b9-4446-8434-4c0640c21995'),
] ]
authors_url = 'http://localhost:5000/' authors_url = 'http://author_service:20001/'
def list_jsonify(): def list_jsonify():

View File

@ -21,7 +21,7 @@ services:
ports: ports:
- "80:80" - "80:80"
volumes: volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf - ./nginx.conf:/etc/nginx/nginx.conf
depends_on: depends_on:
- author_service - author_service
- book_service - book_service

View File

@ -1,4 +0,0 @@
FROM ubuntu:latest
LABEL authors="Main"
ENTRYPOINT ["top", "-b"]