Files
telegram-shop/README.md
2025-03-06 16:13:11 +00:00

176 lines
8.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Универсальный Телеграмм Магазин
**Описание проекта**:
"Универсальный Телеграмм Магазин" — это телеграмм-бот для организации онлайн-продаж через 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 = <your_private_key>
Address = 10.0.0.1/24
ListenPort = 51820
[Peer]
PublicKey = <client_public_key>
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, с возможностью работы с криптовалютами и традиционными средствами. Проект ориентирован на пользователей, которые ценят удобство, безопасность и скорость совершения покупок. Для администраторов — это мощный инструмент для управления товаром, пользователями и финансовыми потоками магазина.