Описание:
Серверная часть:
RESTful API на Python с использованием фреймворка fastapi.
Эндпоинты:
POST /api/v1/products: при запросе на который по переданному артикулу товара с Wildberries (например: 211695539) начинается сбор данных в бд.
Входные параметры: артикул (articul).
GET /api/v1/subscribe/{artikul}: такой же сбор данных, но включается schedule на сбор данных каждые 30 минут.
Аутентификация:
HTTP Bearer ключ - verystrongauthxd
Описание бота:
В боте реализована кнопка «Получить данные по товару», при нажатии на которую он запрашивает артикул, после чего присылает сообщение с самыми свежими данными из бд по этому артикулу
- pydantic
- docker
- fastapi
- postgresql
- aiogram
Требования
Для запуска проекта вам понадобятся:
Docker (версия 20.10+)
Docker Compose (версия 1.29+)
- Клонирование репозитория Клонируйте репозиторий проекта на свой локальный компьютер:
git clone https://github.com/someqst/wb_service.git
cd wb_service/-
Настройка переменных окружения Переименуйте файл .env.example в .env, вставьте свой токен бота
-
Сборка и запуск контейнеров Соберите и запустите проект с помощью Docker Compose:
docker-compose up --buildПосле запуска проект будет доступен по адресу: http://127.0.0.1:8000
- Документация API Документация автоматически генерируется FastAPI и доступна по адресу:
Swagger UI: http://127.0.0.1:8000/docs
-
Приобрести VPS или VDS сервер
-
Клонирование репозитория на сервер Клонируйте репозиторий проекта на свой локальный компьютер:
git clone https://github.com/someqst/wb_service.git
cd wb_service/-
Настройка переменных окружения Переименуйте файл .env.example в .env, вставьте свой токен бота
-
Сборка и запуск контейнеров Соберите и запустите проект с помощью Docker Compose:
docker-compose up --buildПосле запуска проект будет доступен по адресу:
http://{внешний_адрес_вашего_сервера}:8000
Чтобы сервер был доступен извне, стоит открыть порты на сервере, например, с помощью ufw:
sudo ufw allow 8000/tcp
sudo ufw reload
sudo ufw status- Документация API Документация автоматически генерируется FastAPI и доступна по адресу:
Swagger UI: http://127.0.0.1:8000/docs