Содержание:
- Возможности
- Компоненты
- Установка и запуск
- Эндпоинты:
- Добавление товара для отслеживания с помощью запроса к API или через бота
- Просмотр всех отслеживаемых товаров с помощью запроса к API или через бота
- Удаление товара из списка отслеживаемых с помощью запроса к API или через бота
- Получение уведомлений при изменении цены товара. Только в боте.
- Веб-приложение на FastAPI
- Веб-сервер Nginx
- База данных Postgres
- Телеграм-бот на Aiogram 3
- Очередь задач Redis
- Сервер выполнения задач Celery
- gRPC сервер для парсинга
- Админ панель на Django
Для запуска вам потребуется установить Docker.
- Клонировать проект с Github:
git clone https://github.com/moduleb/wb_bot_pro.git- Перейти в папку проекта:
cd wb_bot_pro- Изменить файл RENAME.env, вписать токен от телеграм бота и другие переменные, переименовать файлн:
nano RENAME.env- Применить миграции
alembic revision --autogenerate -m "Initial migration"
alembic upgrade head- Собрать и запустить приложение в Docker:
sudo docker compose up -d --build- Остановить приложение:
sudo docker compose downПриложение доступно по адресу:
- на локальной машине
http://localhost/ - на удаленном сервере
http://<IP адрес сервера> /docs- документация Swagger
Принимает JSON с данными нового товара:
{
"url": "string", # ссылка на товар
"user_id": "string" # id пользователя в телеграм
}Возвращает 201 CREATED
Параметры:
user_id: integer
Возвращает все добавленные товары для заданного пользователя:
[
{
"id": 8,
"user_id": 5312665858,
"item_id": 176656692,
"price": 1753,
"title": "Педали для велосипеда на трех промышленных подшипниках",
"url": "https://www.wildberries.ru/catalog/176656692/detail.aspx"
},
{
"id": 9,
"user_id": 5312665858,
"item_id": 165835462,
"price": 1338,
"title": "Багажник на велосипед",
"url": "https://www.wildberries.ru/catalog/165835462/detail.aspx"
}
]Параметры:
user_id: integeritem_id: integer
Возвращает 204 NO CONTENT