dimitrieidifesk / Cinema

-- | Backend Онлайн Кинотеатра | --

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

linters closed_issues commits/month repo-size top-language

watchers forks start


Инструкция по запуску здесь

Данный проект Cinema разбит на микросервисы, которые в совокупности образуют полноценный онлайн-кинотеатр.

В проект входят такие сервисы как:

  • Авторизация пользователей (auth_api)
  • API для работы с фильмами, жанрами и персонами (films_api)
  • Три ETL процесса которые отдельно перегружают персон, жанры и фильмы из PostgreSQL в ElasticSearch для работы films_api с постоянно обновляющимися данными.
  • Сервис который отслеживает просмотр фильма пользователем и позволяет ему продолжить с места остановки (ugc)
  • ETL процесс который перегружает события просмотров фильмов пользователями из Kafka в ClickHouse, для дальнейшей работы аналитиков.
  • Сервис уведомлений который обрабатывает некоторые события из других микросервисов и события созданные администратором в админ-панели посылая письма пользователям с возможностью расширения на другие типы уведомлений.
    • В папке notifications вы можете увидеть архитектуру.

films_api и auth_api обрабатывают запросы через Nginx.


Технологии используемые в проекте

Фреймворки:

  • FastAPI, Flask, Django

Авторизация:

  • JWT, OAuth2.0

Хранилища:

  • SQLite, PostgreSQL, ElasticSearch, Redis, Kafka, ClickHouse, RabbitMQ

Контейнеренизация:

  • Docker, Docker-Compose

Веб-сервера\Прокси:

  • Gunicorn, Uvicorn, Nginx

Разработчики

  1. Пермяков Александр (Team Lead)
  2. Денис Димитриев (Backend-разработчик)
  3. Алексей Шаповалов (Backend-разработчик)

About

-- | Backend Онлайн Кинотеатра | --


Languages

Language:Python 96.2%Language:Dockerfile 2.1%Language:Shell 1.5%Language:Mako 0.2%