Техническое задание: Система регистрации по номеру телефона

Цель проекта

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

Основные функциональные требования

Процесс регистрации и верификации

  • Основной метод: Регистрация и вход по номеру мобильного телефона.
  • Поддерживаемые форматы: Номера России (код +7) и Беларуси (код +375).
  • Двухэтапная верификация:
    • Этап 1: Пользователь вводит номер телефона. Система отправляет SMS с уникальным кодом подтверждения.
    • Этап 2: Пользователь вводит полученный код для завершения регистрации/входа.
  • Автоматическое определение страны: Система должна автоматически определять страну по введенному коду номера.

Дополнительный функционал

  • Возможность последующей привязки аккаунтов популярных мессенджеров (например, Telegram, WhatsApp) к профилю пользователя.
  • Беспрепятственная интеграция создаваемого модуля в существующую систему личного кабинета.

Требования к безопасности и надежности

  • Реализация механизмов защиты от автоматических регистраций (ботов) и спам-атак.
  • Строгая валидация вводимых номеров телефона на корректность формата.
  • Обеспечение безопасного хранения и передачи персональных данных пользователей.
  • Организация процессов обработки данных в соответствии с актуальными законодательными нормами (аналогично GDPR/ФЗ-152).

Настройка ограничений запросов и защиты от всплесков трафика для серверного API

Требуется внедрить систему rate-limiting для публичного API с раздельными лимитами по IP и API-ключу, используя алгоритм скользящего окна. Необходима базовая защита от бурстов трафика и чёткие HTTP-ответы при исчерпании лимитов. Для партнёрских интеграций нужны отдельные, повышенные квоты.

Разработка ИИ-агента для генерации контента для мебельного производства

Требуется создать ИИ-агента для автоматизации ведения Telegram-канала. Агент должен генерировать фотореалистичные изображения на основе эскизов, создавать видео и текстовые описания с указанием материалов и фурнитуры.