CryptoIkra — Telegram-магазин + лендинг + WebApp “Колесо фортуны
CryptoIkra — комплексная система продаж и промо-механик “под ключ”: Telegram-бот + лендинг + WebApp + API + база данных + продакшен-деплой.
Пользователь оформляет заказ в Telegram (каталог → корзина → заказ), а промо-механика “Колесо фортуны” работает как Telegram WebApp с фиксацией результатов на сервере в PostgreSQL (не просто рандом на фронте). Все части развернуты на VPS под одним доменом с HTTPS и автозапуском сервисов.
Что реализовано
1) Telegram-бот (Python / Aiogram + PostgreSQL)
Каталог товаров по категориям, карточки товаров, выбор вариантов/граммовок.
Корзина: добавление/удаление, изменение количества, защита от ошибок (уход “в минус”, повторные клики).
Оформление заказа: сбор данных клиента, сохранение заказа и состава заказа в БД.
Бонусная система (монеты): начисление/списание, отображение баланса, события.
Поддержка медиа: фото + текст + inline-кнопки (единый стиль сообщений).
Админ-функции: рассылки и управление, стабилизация структуры проекта и импортов.
2) Лендинг (React + TypeScript + Vite)
Маркетинговая страница проекта на домене.
Разделы: описание продукта, преимущества, сценарии использования, CTA-переход в Telegram.
Сборка и деплой статики, корректная работа кеширования для обновлений.
3) WebApp “Колесо фортуны” (React + TypeScript + Vite)
Telegram mini app: колесо призов, UI результата, модалки.
Интеграция с API/БД — фиксация результатов спина и начисление призов/бонусов.
Подготовлена логика под вероятности выпадения призов (веса).
4) API-сервис (FastAPI + Uvicorn)
Backend для WebApp: эндпоинты для получения данных и сохранения спинов.
Подключение к PostgreSQL (единая база с ботом).
Развернут отдельным сервисом и проксируется через Nginx по /api/.
5) Инфраструктура и деплой (VPS / Ubuntu)
Домен и DNS, HTTPS через Certbot (Let’s Encrypt) + авто-продление.
Nginx reverse-proxy на одном домене:
/ — лендинг
/wheel/ — WebApp
/api/ — API
Autostart через systemd: Telegram-бот и API.
PostgreSQL: схема/права/подключения сервисов.
Настроено кеширование: HTML без кеша, статика (JS/CSS) с долгим кешем и версионированием.
Сложности и решения
Стабилизация логики корзины и заказа (заказ корректно завершается, корзина не теряется).
Защита от типичных ошибок Telegram API (message is not modified), повторных действий и некорректных состояний.
Один домен под несколько приложений без конфликтов (лендинг + WebApp + API).
Реальная серверная фиксация промо-результатов в БД.
Стек
Python, Aiogram, FastAPI, asyncpg/SQLAlchemy (async), PostgreSQL, React, TypeScript, Vite, Nginx, Certbot, systemd, Ubuntu VPS.
#telegrambot #aiogram #fastapi #react #typescript #postgresql #nginx #vps #webapp #landing #ecommerce #devops
Пользователь оформляет заказ в Telegram (каталог → корзина → заказ), а промо-механика “Колесо фортуны” работает как Telegram WebApp с фиксацией результатов на сервере в PostgreSQL (не просто рандом на фронте). Все части развернуты на VPS под одним доменом с HTTPS и автозапуском сервисов.
Что реализовано
1) Telegram-бот (Python / Aiogram + PostgreSQL)
Каталог товаров по категориям, карточки товаров, выбор вариантов/граммовок.
Корзина: добавление/удаление, изменение количества, защита от ошибок (уход “в минус”, повторные клики).
Оформление заказа: сбор данных клиента, сохранение заказа и состава заказа в БД.
Бонусная система (монеты): начисление/списание, отображение баланса, события.
Поддержка медиа: фото + текст + inline-кнопки (единый стиль сообщений).
Админ-функции: рассылки и управление, стабилизация структуры проекта и импортов.
2) Лендинг (React + TypeScript + Vite)
Маркетинговая страница проекта на домене.
Разделы: описание продукта, преимущества, сценарии использования, CTA-переход в Telegram.
Сборка и деплой статики, корректная работа кеширования для обновлений.
3) WebApp “Колесо фортуны” (React + TypeScript + Vite)
Telegram mini app: колесо призов, UI результата, модалки.
Интеграция с API/БД — фиксация результатов спина и начисление призов/бонусов.
Подготовлена логика под вероятности выпадения призов (веса).
4) API-сервис (FastAPI + Uvicorn)
Backend для WebApp: эндпоинты для получения данных и сохранения спинов.
Подключение к PostgreSQL (единая база с ботом).
Развернут отдельным сервисом и проксируется через Nginx по /api/.
5) Инфраструктура и деплой (VPS / Ubuntu)
Домен и DNS, HTTPS через Certbot (Let’s Encrypt) + авто-продление.
Nginx reverse-proxy на одном домене:
/ — лендинг
/wheel/ — WebApp
/api/ — API
Autostart через systemd: Telegram-бот и API.
PostgreSQL: схема/права/подключения сервисов.
Настроено кеширование: HTML без кеша, статика (JS/CSS) с долгим кешем и версионированием.
Сложности и решения
Стабилизация логики корзины и заказа (заказ корректно завершается, корзина не теряется).
Защита от типичных ошибок Telegram API (message is not modified), повторных действий и некорректных состояний.
Один домен под несколько приложений без конфликтов (лендинг + WebApp + API).
Реальная серверная фиксация промо-результатов в БД.
Стек
Python, Aiogram, FastAPI, asyncpg/SQLAlchemy (async), PostgreSQL, React, TypeScript, Vite, Nginx, Certbot, systemd, Ubuntu VPS.
#telegrambot #aiogram #fastapi #react #typescript #postgresql #nginx #vps #webapp #landing #ecommerce #devops