.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, с возможностью работы с криптовалютами и традиционными средствами. Проект ориентирован на пользователей, которые ценят удобство, безопасность и скорость совершения покупок. Для администраторов — это мощный инструмент для управления товаром, пользователями и финансовыми потоками магазина.