Обновить 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