Обновить README.md
This commit is contained in:
parent
abfa7b43af
commit
f9a27f557b
73
README.md
73
README.md
@ -1,3 +1,72 @@
|
|||||||
# sb1-tqdsuw
|
Техническое задание для создания магазина в Telegram
|
||||||
|
Описание проекта:
|
||||||
|
|
||||||
[Edit in StackBlitz next generation editor ⚡️](https://stackblitz.com/~/github.com/SoftUniq/sb1-tqdsuw)
|
Проект представляет собой создание бота для торговой платформы в 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