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
Автозапуск через 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
Автозапуск через 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