# Универсальный Телеграмм Магазин **Описание проекта**: "Универсальный Телеграмм Магазин" — это телеграмм-бот для организации онлайн-продаж через 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. Установка зависимостей: ```bash npm install ``` #### 2. Настройка конфигурации: Создайте файл `.env` в корне проекта со следующим содержимым: ```env TELEGRAM_BOT_TOKEN=your_bot_token MONGO_URI=mongodb://localhost:27017/telegram_shop WIREGUARD_CONFIG_PATH=./wg/config/wg0.conf ``` #### 3. Запуск через Docker: ```bash docker-compose up -d ``` #### 4. Настройка WireGuard: 1. Сгенерируйте ключи: ```bash wg genkey | tee privatekey | wg pubkey > publickey ``` 2. Настройте wg0.conf: ```ini [Interface] PrivateKey = Address = 10.0.0.1/24 ListenPort = 51820 [Peer] PublicKey = AllowedIPs = 10.0.0.2/32 ``` #### 5. Запуск бота: ```bash npm start ``` --- ### Структура проекта ``` ├── src/ │ ├── config/ # Конфигурация приложения │ ├── context/ # Контекст и состояния бота │ ├── handlers/ # Обработчики команд │ ├── models/ # Модели данных │ ├── services/ # Бизнес-логика │ ├── utils/ # Вспомогательные утилиты │ └── index.js # Точка входа ├── wg/ # Конфигурация WireGuard ├── docker-compose.yml # Docker конфигурация └── Dockerfile # Docker образ ``` --- ### Разработка #### Запуск в режиме разработки: ```bash npm run dev ``` #### Линтинг и форматирование: ```bash npm run lint npm run format ``` #### Тестирование: ```bash npm test ``` --- ### Лицензия Проект распространяется под лицензией MIT. Подробнее см. в файле LICENSE. --- ### Контакты По вопросам сотрудничества и поддержки: - Email: support@telegram-shop.com - Telegram: @telegram_shop_support --- ### Требования к системе: 1. **Интерфейс пользователя**: - Интуитивно понятный и удобный интерфейс для покупок. - Легкость в управлении профилем и кошельками. - Информация о товарах и статусах покупок должна быть легко доступна. 2. **Интерфейс администратора**: - Возможность редактировать товары, категории и управлять локациями. - Инструменты для контроля баланса и управления пользователями. - Функционал для создания и загрузки дампов данных. 3. **Безопасность**: - Защищенные транзакции. - Надежная система для хранения данных пользователей и кошельков. - Механизмы для предотвращения мошенничества и атак. 4. **Производительность**: - Система должна быть способна обрабатывать большое количество пользователей и транзакций одновременно. - Пагинация данных, чтобы обеспечить быструю загрузку и обработку. --- ### Риски и возможные проблемы: 1. **Зависимость от сторонних сервисов**: - Интеграция с криптокошельками и сторонними сервисами для проверки баланса может быть подвержена сбоям, если эти сервисы не работают корректно. 2. **Поддержка разных криптовалют**: - Необходимо следить за изменениями в протоколах криптовалют и своевременно обновлять систему. 3. **Безопасность и защита данных**: - Важно следить за актуальностью средств защиты данных и предотвратить утечку информации о пользователях и их балансе. --- ### Заключение: **Универсальный Телеграмм Магазин** предоставляет эффективное решение для организации торговых процессов в Telegram, с возможностью работы с криптовалютами и традиционными средствами. Проект ориентирован на пользователей, которые ценят удобство, безопасность и скорость совершения покупок. Для администраторов — это мощный инструмент для управления товаром, пользователями и финансовыми потоками магазина.