stanislav_dubich@dev:~$ cat gamification-promo/README.md

Gamification Promo Portal

Портал вовлечения для маркетинговой промо-акции. Геймификация: квизы, мини-игры, система наград.

Бизнес-задача

Маркетинговая промо-кампания с геймификацией. Пользователи выполняют задания (квизы, мини-игры, промокоды) и получают сундуки с наградами — скидки и промокоды.

Архитектура

┌─────────────────┐         ┌─────────────────┐
│    Frontend     │──REST──▶│   Go Backend    │◀──reCAPTCHA──▶ Google
│   (Portal)      │         │     (Gin)       │
└─────────────────┘         └────────┬────────┘
                                     │
        ┌────────────────────────────┼────────────────────────────┐
        │                            │                            │
        ▼                            ▼                            ▼
┌───────────────┐           ┌───────────────┐            ┌───────────────┐
│  PostgreSQL   │           │     Redis     │            │   SMS Gateway │
│  (tasks,      │           │  (sessions)   │            │    (P1SMS)    │
│   rewards)    │           └───────────────┘            └───────────────┘
└───────────────┘
                

Аутентификация

Двухэтапная авторизация по телефону с защитой от злоупотреблений:

Система заданий

11 типов заданий с ротацией по времени:

Выдача наград

8 уровней сундуков (бронза → серебро → золото) с параллельной обработкой:

База данных

Стек

Backend

Go 1.22 Gin Framework pgx/v5 + pgxpool go-redis/v8 Goose (migrations)

Data

PostgreSQL Redis (sessions) AWS S3 (exports)

Integrations

SMS Gateway Google reCAPTCHA External API Orders API

Infra

Docker (multi-stage) GitHub Actions Yandex Cloud Registry

Моя роль