Доработка бэкенд-приложения на FastAPI

Основная цель

Расширение функциональности существующего API за счёт внедрения системы безопасности, управления пользователями и обработки транзакций.

1. Система безопасности и пользователи

Аутентификация и авторизация

  • Реализация регистрации и входа пользователей с использованием JWT-токенов.
  • Хранение токена в cookies с сроком жизни 7 дней.
  • Секретный ключ для генерации токенов должен храниться в переменных окружения (.env).
  • Автоматическое обновление срока жизни токена при каждой активности пользователя.
  • Защита эндпоинтов /admin/* с проверкой роли администратора.

Модель пользователя в БД

  • id: UUID (первичный ключ).
  • password: Хешированный пароль.
  • phone: Номер телефона.
  • email: Адрес электронной почты.
  • transactions: Связь с таблицей транзакций (внешний ключ).
  • account_confirmation_status: Связь со статусом подтверждения (внешний ключ).
  • name: Имя пользователя.
  • role: Роль пользователя (например, user, admin).

2. Подтверждение учётной записи по email

Сервис отправки email

  • Создание отдельного сервиса в app/services для отправки электронных писем.
  • Поддержка как писем для подтверждения регистрации, так и для общей рассылки.
  • Интеграция с SMTP (например, Gmail). Все данные для подключения (логин, пароль/токен) берутся из .env файла.
  • Оформление писем с использованием простого HTML и CSS.

Модель подтверждения в БД

  • user_id: Ссылка на пользователя (внешний ключ).
  • confirmation_code: Код для подтверждения.
  • confirmation_status: Статус подтверждения (True/False).
  • expires_at: Срок жизни кода (600 секунд). По истечении срока статус автоматически меняется на False.

3. Система транзакций (заказов)

Модель транзакции

  • Создание отдельной таблицы для заказов/транзакций.

Статусы заказа

  • Статусы должны быть вынесены в перечисление (Enum) в /app/types/enums.
  • Список статусов:
    • Не оплачено вовремя
    • В процессе оплаты
    • В обработке
    • В доставке
    • Доставлено

Исправление скрипта BAS для автоматизации в социальной сети

Требуется специалист по BAS для диагностики и ремонта рабочего скрипта. Скрипт выполняет автоматические действия в социальной сети, но перестал работать из-за изменений на стороне платформы (возможные причины: обновление верстки, появление капчи). Исходный код предоставляется.

Профессиональная коррекция и сведение многодорожечного вокала

Требуется опытный звукорежиссер для тонкой настройки вокала 7 исполнителей по нотам, исправления ошибок предыдущей версии и качественного сведения с инструменталом. Необходимы навыки работы с Melodyne или аналогичными инструментами.