| .gitea/workflows | ||
| src | ||
| wg | ||
| .gitignore | ||
| corrupt-photo.jpg | ||
| docker-compose.yml | ||
| Dockerfile | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
Универсальный Телеграмм Магазин
Описание проекта:
"Универсальный Телеграмм Магазин" — это телеграмм-бот для организации онлайн-продаж через Telegram. Проект предоставляет полный цикл управления магазином, включая работу с криптовалютами, управление товарами и пользователями, а также интеграцию с VPN через WireGuard для безопасных транзакций.
Основные технологии:
- Node.js + Telegraf для работы с Telegram API
- SQLite для хранения данных
- Docker для контейнеризации
- WireGuard для защищенных соединений
- Поддержка криптокошельков (Bitcoin, Ethereum, Litecoin)
Проект включает несколько ключевых разделов для удобной работы пользователей и администраторов, а также позволяет интегрировать систему криптокошельков для расчетов, управления товарами и отслеживания покупок.
Основной функционал
Для пользователей:
- Просмотр товаров по категориям с фильтрацией по локациям
- Совершение покупок с использованием криптовалют
- Управление криптокошельками (создание, пополнение, просмотр баланса)
- Просмотр истории транзакций и покупок
- Настройка профиля (локация, контактные данные)
- Подключение к защищенному VPN через WireGuard для безопасных транзакций
Для администраторов:
- Полное управление товарами и категориями
- Управление пользователями (блокировка, редактирование балансов)
- Контроль транзакций и комиссий
- Создание дампов базы данных с автоматическим списанием комиссии (% от балансов кошельков)
- Управление локациями и настройками VPN
- Мониторинг активности пользователей
- SaaS система с автоматическим расчетом комиссий:
- Комиссия за оборот по магазину перед выгрузкой кошельков
 
Установка и запуск
Требования:
- Node.js 18+
- Docker и Docker Compose
- Telegram Bot Token
- SQLite connection string
- WireGuard конфигурация
1. Установка зависимостей:
npm install
2. Настройка конфигурации:
Создайте файл .env в корне проекта со следующим содержимым:
TELEGRAM_BOT_TOKEN=your_bot_token
MONGO_URI=mongodb://localhost:27017/telegram_shop
WIREGUARD_CONFIG_PATH=./wg/config/wg0.conf
3. Запуск через Docker:
docker-compose up -d
4. Настройка WireGuard:
- Сгенерируйте ключи:
wg genkey | tee privatekey | wg pubkey > publickey
- Настройте wg0.conf:
[Interface]
PrivateKey = <your_private_key>
Address = 10.0.0.1/24
ListenPort = 51820
[Peer]
PublicKey = <client_public_key>
AllowedIPs = 10.0.0.2/32
5. Запуск бота:
npm start
Структура проекта
├── src/
│   ├── config/          # Конфигурация приложения
│   ├── context/         # Контекст и состояния бота
│   ├── handlers/        # Обработчики команд
│   ├── models/          # Модели данных
│   ├── services/        # Бизнес-логика
│   ├── utils/           # Вспомогательные утилиты
│   └── index.js         # Точка входа
├── wg/                  # Конфигурация WireGuard
├── docker-compose.yml   # Docker конфигурация
└── Dockerfile           # Docker образ
Разработка
Запуск в режиме разработки:
npm run dev
Линтинг и форматирование:
npm run lint
npm run format
Тестирование:
npm test
Лицензия
Проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE.
Контакты
По вопросам сотрудничества и поддержки:
- Email: support@telegram-shop.com
- Telegram: @telegram_shop_support
Требования к системе:
- 
Интерфейс пользователя: - Интуитивно понятный и удобный интерфейс для покупок.
- Легкость в управлении профилем и кошельками.
- Информация о товарах и статусах покупок должна быть легко доступна.
 
- 
Интерфейс администратора: - Возможность редактировать товары, категории и управлять локациями.
- Инструменты для контроля баланса и управления пользователями.
- Функционал для создания и загрузки дампов данных.
 
- 
Безопасность: - Защищенные транзакции.
- Надежная система для хранения данных пользователей и кошельков.
- Механизмы для предотвращения мошенничества и атак.
 
- 
Производительность: - Система должна быть способна обрабатывать большое количество пользователей и транзакций одновременно.
- Пагинация данных, чтобы обеспечить быструю загрузку и обработку.
 
Риски и возможные проблемы:
- 
Зависимость от сторонних сервисов: - Интеграция с криптокошельками и сторонними сервисами для проверки баланса может быть подвержена сбоям, если эти сервисы не работают корректно.
 
- 
Поддержка разных криптовалют: - Необходимо следить за изменениями в протоколах криптовалют и своевременно обновлять систему.
 
- 
Безопасность и защита данных: - Важно следить за актуальностью средств защиты данных и предотвратить утечку информации о пользователях и их балансе.
 
Заключение:
Универсальный Телеграмм Магазин предоставляет эффективное решение для организации торговых процессов в Telegram, с возможностью работы с криптовалютами и традиционными средствами. Проект ориентирован на пользователей, которые ценят удобство, безопасность и скорость совершения покупок. Для администраторов — это мощный инструмент для управления товаром, пользователями и финансовыми потоками магазина.