Разработчик на python, фреймворк starlette

1 200 руб.за час
12 октября 2020, 13:06 • 11 откликов • 52 просмотра
Мобильное приложение по бронированию спортивных площадок. Необходимо доработать API-методы и исправить 1 баг.

Баг
В системе предусмотрена возможность бронировать площадки с шагом в 30 минут. Но минимальное бронирование 1 час. Если спортивная площадка ставит своё расписание с шагом в час, то при попытке забронировать один таймслот, система выдает ошибку, что надо забронировать минимум час.

Метод 1: Возможность редактирования таймслотов
В админ панели заведения площадки и расписания (таймслоты) предусмотрено создание, но не предусмотрен метод редактирования. Необходимо реализовать UpdatePricePolicy по аналогии с CreatePricePolicy.

Метод 2: Реализовать возможность создания промокодов в админ панели
Функциональные возможности промокодов: сумма, имя-промокода, срок действия, емайл клиента, категория игр количество раз использования на одного клиента. Емайл клиента не обязательное поле. при этом можно указать маску вида: *@name.ru. чтобы все клиенты которые имеют почту на name.ru имели скидку.
Также, необходимо передавать дату создания промокода и id пользователя

Метод 3: Возможность удалить созданный промокод

Метод 4: Возможность вывести все созданные промокоды и их статус
Метод выводит все данные о промокоде: дата создания, сумма, емайл, имя, количество раз использований на одного пользователя, срок действия, автор создания.

Метод 5: Возможность использовать промокод при оплате площадки

Дополнительная задача: выводить информацию о новом бронировании в телеграмм.
ID: 17 – id заказа
Phone: +799009 – телефон клиента
Amount: 100 rub – сумма заказа
Field: Футбольный манеж «Феникс» – название площадки
Date: 23 сентября 06:00-07:00,07:00-08:00 – дата игры и забронированное время
Booking: 21 сентября 22:32:18 – дата брони
Email: naval@imya/com – почта клиента

Стэк проекта:
1. Язык программирования на backend – Python. Фреймворк – starlette.
2. Менеджер очередей RabbitMQ
3. Инфраструктура построена на базе решения для контейнерной оркестрации – kubernetes.
4. Инфраструктура описана по модели "Инфрастуктура как код". Используется Terraform + Ansible
5. В качестве CI-системы используется Gitlab CI.
6. В качестве базы данных PostgreSQL