Обновить README.md
This commit is contained in:
parent
f9a27f557b
commit
c9a5f6168a
73
README.md
73
README.md
@ -1,72 +1 @@
|
|||||||
Техническое задание для создания магазина в Telegram
|
Универсальный телеграмм магазин с оплатой криптовалютой и координатами и фото офиса где можно забрать купленный товар предназначен для предоставления сервиса обычным магазинам отображать и продавать свои товары в разных городах и районах.
|
||||||
Описание проекта:
|
|
||||||
|
|
||||||
Проект представляет собой создание бота для торговой платформы в Telegram, который будет поддерживать следующие функции: управление продуктами и категориями товаров, фильтрация продуктов по географическому положению пользователя, покупки с автоматическим списанием средств со счета пользователя, пополнение баланса через криптовалюту, импорт/экспорт данных и настройка в конфиг-файле.
|
|
||||||
Используемые технологии:
|
|
||||||
|
|
||||||
Язык программирования: Golang
|
|
||||||
База данных: SQLite3
|
|
||||||
Среда разработки контейнеров: Docker
|
|
||||||
|
|
||||||
1. Сущности (Entities)
|
|
||||||
1.1 Пользователь (User)
|
|
||||||
|
|
||||||
ID: уникальный идентификатор пользователя.
|
|
||||||
balance: баланс пользователя.
|
|
||||||
|
|
||||||
1.2 Категории товаров и товары
|
|
||||||
|
|
||||||
Categories:
|
|
||||||
ID: уникальный идентификатор категории.
|
|
||||||
Название: название категории.
|
|
||||||
Products:
|
|
||||||
ID: уникальный идентификатор продукта.
|
|
||||||
Описание: текстовое описание продукта.
|
|
||||||
Цена: цена за единицу товара (float).
|
|
||||||
Количество: количество доступных товаров (integer).
|
|
||||||
Геолокация (longitude, latitude): координаты местоположения товара.
|
|
||||||
Скрытые данные:
|
|
||||||
Фото скрытое: дополнительное изображение товара (для пользователей после покупки).
|
|
||||||
Описание скрытое: дополнительная информация для пользователей после покупки.
|
|
||||||
Флаг оплаты (is_paid): указывает, что платеж за продукт был проведен.
|
|
||||||
|
|
||||||
1.3 Локации
|
|
||||||
|
|
||||||
Страна: уникальный идентификатор страны.
|
|
||||||
Город: название города.
|
|
||||||
Район города: название района внутри города.
|
|
||||||
|
|
||||||
1.4 Кошельки для пополнения баланса (Wallets)
|
|
||||||
|
|
||||||
Тип монеты: тип криптовалюты (Bitcoin, Monero, Litecoin и т.д.).
|
|
||||||
Массив кошельков по каждому типу монеты.
|
|
||||||
|
|
||||||
2. Отображение товара
|
|
||||||
|
|
||||||
Продукты отображаются в зависимости от выбранного радиуса и города. Если координаты продукта попадают в указанный радиус, продукт будет показан пользователю.
|
|
||||||
3. Процесс покупки
|
|
||||||
|
|
||||||
Пользователь выбирает город.
|
|
||||||
Продукты фильтруются по выбранному городу и отображаются пользователю.
|
|
||||||
После успешной покупки средства списываются с баланса пользователя, продукт считается проданным (снимается единица из количества), и пользователю показывается скрытое фото и описание.
|
|
||||||
|
|
||||||
4. Пополнение баланса
|
|
||||||
|
|
||||||
При пополнении через криптовалюту:
|
|
||||||
|
|
||||||
Виджет предлагает сумму для пополнения.
|
|
||||||
Выбирается кошелек для конкретного типа монеты из массива доступных кошельков.
|
|
||||||
После пополнения бот проверяет транзакцию каждую минуту до тех пор, пока средства не поступят на кошелек.
|
|
||||||
|
|
||||||
5. Настройки
|
|
||||||
|
|
||||||
Конфиг файл: хранит все необходимые для работы бота параметры (например, пути к базам данных, API ключи, прокси и т.д.)
|
|
||||||
База данных: SQLite3
|
|
||||||
|
|
||||||
6. Импорт/Экспорт товаров
|
|
||||||
|
|
||||||
Товары будут импортироваться из CSV файла и экспортироваться обратно при необходимости обновления.
|
|
||||||
7. Работа в контейнере Docker
|
|
||||||
|
|
||||||
Бот запускается внутри Docker-контейнера.
|
|
||||||
Конфигурационные файлы передаются контейнеру через переменные окружения или тома Docker.
|
|
Loading…
Reference in New Issue
Block a user