Бот для виртуальных карт
Проект: Бот — копия [mypintopaytest_bot], сервис выпуска виртуальных карт.
Пользователь создает карту по API, пополняет ее и использует её для онлайн покупок.
Цель: MVP с минимальным, но готовым к расширению функционалом.
Логика разделена на микросервисы:
+ Бот — регистрация, выпуск карты, просмотр баланса, пополнение, история операций. Взаимодействие реализовано через WebApp-интерфейс (HTML + JS). Используется Телега Bot API + встроенный WebApp внутри чатов для отображения списков операций и форм.
+ API-интеграция с сервисом выпуска карт — выпуск и пополнение карты.
+ Микросервис учёта: внутренние балансы, пополнения, переводы, сборы.
+ Для пополнения - отслеживание входящих транзакций через Viewer.
+ Админка (web) — управление пользователями, картами, балансами, транзакциями, сборами, лимитами, статусами, рефералами, логами и Webhook-событиями.
+ Реферальная система — отслеживание источников перехода, бонусы за приглашения.
Архитектура: микросервисная:
Каждый блок (бот, биллинг, админка, пополнения-watch, card-api, webhooks) — изолирован, с REST API, возможностью масштабирования.
В первой версии допускается запуск в одном Docker Compose (monorepo), но с логическим разделением на сервисы при продолжении разработки.
Предполагается технический стек: Python (FastAPI + aiogram 3.x), PostgreSQL, Docker, Redis/Celery, WebApp: HTML+JS, GitHub Actions (CI/CD).
Скрипты и боты