Содержание:
- Возможности
- Компоненты
- Установка и запуск
- Эндпоинты:
- Добавление товара для отслеживания с помощью запроса к 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