/Async_API_sprint_2

Проектная работа 5 спринта. Погружаемся в рефакторинг и ревью прошлых решений.

Primary LanguagePython

Онлайн-кинотеатр

a

Данный репозиторий содержит следующие сервисы из инфраструктуры онлайн кинотеатра:

  • ETL - сервис для выгрузки данных из БД PostgreSQL и загрузки их в Elasticsearch для дальнейшего использования их в movies_api
  • movies_api - api-сервис с данными о фильмах
  • Функциональные тесты эндпоинтов movies_api

Более подродное описание сервисов в одноимённых директориях репозитория.

Так же в своей работе сервисы используют:

  • PostgreSQL - для хранения данных о фильмах
  • Elasticsearch - для полнотекстового поиска по базе фильмов
  • Redis - для кэширования данных
  • nginx - для проксирования внешних запросов

Установка

  1. Установить Docker и Docker-compose на вашу локальную машину или сервер
  2. Запустите контейнеры из корневой папки проекта с помощью команды:
 docker-compose up

P.S. Данной командой проект запускается с параметрами по умолчанию. Нужные параметры можно либо передать вместе с командой docker-compose, либо отредактировав файл docker-compose.yaml.

Репозитории сервисов инфраструктуры онлайн-кинотеатра

В инфраструктуру сервиса онлайн-кинотеатр входят следующие микросервисы:

  • Admin Panel - панель для администрирования базы фильмов

  • ETL - сервис выгрузки базы фильмов в систему полнотекстового поиска Elasticsearch

  • API - сервис предоставляющий интерфейс для работы пользователей с базой фильмов:

  • Auth - сервис авторизации и аутентификации пользователей:

  • UGC - сервис хранения аналитической информации и UGC: