Gamification Promo Portal
Backend для геймифицированной промо-акции. Go + Gin, SMS-авторизация с AES-256, защита от ботов.
11 типов заданий8 уровней наградAES-256 + reCAPTCHA
Бизнес-задача
Маркетинговая промо-кампания с геймификацией. Пользователи выполняют задания (квизы, мини-игры, промокоды) и получают сундуки с наградами.
Ключевая задача
Двухэтапная авторизация по телефону с защитой от злоупотреблений. SMS OTP с ограничением. Система заданий с ротацией по времени (11 типов). Выдача наград через Semaphore. Защита от ботов через reCAPTCHA.
Аутентификация
Двухэтапная авторизация по телефону:
- •SMS OTP (4 цифры), ограничение 3 минуты
- •Bearer token в Redis (30 дней)
- •Телефоны: AES-256 шифрование, HMAC матчинг
- •Google reCAPTCHA на регистрации
Система заданий
11 типов заданий с ротацией по времени:
- •Интерактивные: привязка аккаунта, мини-игра, квиз, поиск кода
- •На основе покупок: сумма, количество товаров, промокоды
- •Ограниченные по времени: start/end для ротации
Выдача наград
8 уровней сундуков (бронза → золото):
- •Semaphore для ограничения конкурентности
- •Атомарность через транзакции
- •Генерация и трекинг промокодов
Технологии
Backend
Go 1.22Gin Frameworkpgx/v5go-redis/v8Goose
Data
PostgreSQLRedisAWS S3
Integrations
SMS Gateway (P1SMS)Google reCAPTCHAOrders API
Infra
DockerGitHub ActionsYandex Cloud
Наша роль
- Архитектура backend для геймификации с нуля
- Двухэтапная авторизация с AES-256 шифрованием
- Пул воркеров с Semaphore для защиты внешних API