Все работы
Кейс · NDA — подробности по запросу
Торговая платформа в Telegram с оформлением в рассрочку
Интернет-магазин внутри Telegram — каталог, оформление в рассрочку, вход по SMS, платежи, бот для операторов и полноценная админ-панель — в продакшене у ритейлера электроники.
- Клиент
- Ритейлер электроники (Узбекистан)
- Роль
- Архитектор и ведущий инженер — бэкенд, фронтенд, бот, инфраструктура
- Сроки
- С апреля 2026 · в продакшене
- Стек
- PythonFastAPIPostgreSQLSQLAlchemyaiogramReactTypeScriptReact NativeDockernginx
Задача
Ритейлер продавал телефоны и электронику в рассрочку через чат-бота и звонки. Заказы, данные клиентов и заявки на рассрочку жили в переписках и таблицах; у менеджеров не было ни очереди, ни истории, ни понимания, где клиенты уходят.
Нужен был настоящий магазин внутри Telegram, где уже находятся клиенты, — вход, каталог, оформление рассрочки и админ-панель — без риска для персональных данных, которые требует заявка на рассрочку.
Подход и архитектура
- Начал с письменного ТЗ и архитектурного документа с отвергнутыми альтернативами и этапами M-1…M-7; каждый этап закрывался по матрице приёмки из сквозных сценариев.
- Одна кодовая база на Python, три процесса: FastAPI API, бот на aiogram для клиентов и операторов и PostgreSQL. Mini App и админ-панель — статические React-приложения за nginx; мобильное приложение на React Native использует тот же API.
- Безопасность заложена в проект, а не добавлена потом: одноразовые SMS-коды с блокировками и дневными лимитами, проверка Telegram initData по HMAC, шифрование ПИНФЛ в базе и письменный отчёт по безопасности для IT-отдела клиента.
- Админ-панель: товары, заказы с назначением и историей событий, CRM, SMS-дашборд, рефералы и UTM-атрибуция, зоны доставки по реальным геограницам и AI-консультант с защитой от злоупотреблений.
Результат
- Работает в продакшене и активно развивается: 580+ коммитов с апреля 2026, этапы MVP закрыты, новые функции выходят непрерывно.
- 106 задокументированных API-эндпоинтов, 43 таблицы и 64 версионированные миграции.
- Телеметрия воронки, поиска, web vitals и CSP хранится рядом с данными — продуктовые решения принимаются на фактах.
Что обеспечило надёжность
- Около 1 000 тестов бэкенда и 60 тестовых файлов фронтенда; CI на каждый push запускает линтеры, pytest на реальном PostgreSQL и vitest.
- Регламент исправлений с контрактными тестами и журнал каждого исправления и каждой функции.
- Инструкции по деплою, бэкапам и миграциям; ночные бэкапы и проверка здоровья продакшена.
Похожая задача?
Расскажите о ней — честно оценю объём, подход и то, каким может быть первый этап.