Go to file
2025-03-06 16:13:11 +00:00
.gitea/workflows Обновить .gitea/workflows/dev.yaml 2024-11-14 23:32:46 +00:00
src litle update 2025-02-05 16:40:00 +00:00
wg mart litle update 2025-03-06 16:13:11 +00:00
.gitignore update gitignore 2024-11-22 11:21:00 +00:00
corrupt-photo.jpg product photo fix 2024-11-15 07:31:46 +03:00
docker-compose.yml mart litle update 2025-03-06 16:13:11 +00:00
Dockerfile litle update 2025-02-05 16:40:00 +00:00
package-lock.json package lock file recreate 2025-01-25 13:37:03 +00:00
package.json update package 2025-01-25 09:31:56 +00:00
README.md mart litle update 2025-03-06 16:13:11 +00:00

Универсальный Телеграмм Магазин

Описание проекта:
"Универсальный Телеграмм Магазин" — это телеграмм-бот для организации онлайн-продаж через 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:

  1. Сгенерируйте ключи:
wg genkey | tee privatekey | wg pubkey > publickey
  1. Настройте 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.


Контакты

По вопросам сотрудничества и поддержки:


Требования к системе:

  1. Интерфейс пользователя:

    • Интуитивно понятный и удобный интерфейс для покупок.
    • Легкость в управлении профилем и кошельками.
    • Информация о товарах и статусах покупок должна быть легко доступна.
  2. Интерфейс администратора:

    • Возможность редактировать товары, категории и управлять локациями.
    • Инструменты для контроля баланса и управления пользователями.
    • Функционал для создания и загрузки дампов данных.
  3. Безопасность:

    • Защищенные транзакции.
    • Надежная система для хранения данных пользователей и кошельков.
    • Механизмы для предотвращения мошенничества и атак.
  4. Производительность:

    • Система должна быть способна обрабатывать большое количество пользователей и транзакций одновременно.
    • Пагинация данных, чтобы обеспечить быструю загрузку и обработку.

Риски и возможные проблемы:

  1. Зависимость от сторонних сервисов:

    • Интеграция с криптокошельками и сторонними сервисами для проверки баланса может быть подвержена сбоям, если эти сервисы не работают корректно.
  2. Поддержка разных криптовалют:

    • Необходимо следить за изменениями в протоколах криптовалют и своевременно обновлять систему.
  3. Безопасность и защита данных:

    • Важно следить за актуальностью средств защиты данных и предотвратить утечку информации о пользователях и их балансе.

Заключение:

Универсальный Телеграмм Магазин предоставляет эффективное решение для организации торговых процессов в Telegram, с возможностью работы с криптовалютами и традиционными средствами. Проект ориентирован на пользователей, которые ценят удобство, безопасность и скорость совершения покупок. Для администраторов — это мощный инструмент для управления товаром, пользователями и финансовыми потоками магазина.