MiddlePython16 / billing_service

2 stars 1 forks source link

Docker Python Nginx PostgreSQL Django Kafka Celery Redis

Биллинг

Дипломный проект команды №1 16 когорты Яндекс.Практикума по направлению "Мидл Python разработчик"

Состав команды

Описание сервиса

Схема API

Схема

photo-2022-10-31-22-18-25

Схема базы данных

photo-2022-10-31-23-48-28

Как все работает

Авторизация пользователей в биллинг происходит через наш сервис авторизации

Если это администратор, то перекидываем его в админку, в которой можно изменять параметры подписок и следить за заказами

Если это пользователь, то перекидываем его на страницу оплаты подписки.

‼️ В качестве платежного сервиса мы выбрали ЮКассу, подключенную через библиотеку django-payments. Это позволяет нам легко добавлять/менять/удалять провайдеров.

После оплаты в Celery передается задача на изменение прав у пользователя (теперь у него есть подписка, значит, он может смотреть фильмы!). Эти права хранятся в базе данных биллинга. Но чтобы каждый раз не обращаться к базе за сверкой прав, мы также добавляем их в access token, который генерирует auth сервис

Стек технологий

Запуск

Для начала необходимо запустить сервис авторизации

Затем запустите биллинг сервис. Для этого воспользуйтесь следующими командами

cd billing_compose
docker-compose up --build -d