Микросервисное веб приложение для мониторинга цен на сайте с динамическим обновлением (в данном примере М.видео).
- Модуль HTTP API на базе FastAPI содержащий следующие маршруты:
- Добавление нового товара на мониторинг (ссылка на товар).
- Удаление товара.
- Получение списка товаров на мониторинге.
- Получение истории цен на товар.
-
Телеграм бот с аналогичным функционалом. Реализован с помощью библиотеки aiogram.
-
Модуль мониторинга, который будет периодически получать новую цену товара. Реализован с помощью библиотеки schedule. Периодичность обновления, задаётся в файле config.
Python, FastAPI, Docker, Gunicorn, PostgreSQL, aiogram, schedule, sqlalchemy
- Клонировать репозиторий:
git@github.com:krankir/price_monitoring_product.git
- Сборка проекта (все команды выполняются из директории с файлом docker-compose.yml):
$ docker-compose build
- Запуск проекта:
$ docker-compose up
- Для остановки контейнеров Docker:
docker-compose down -v # с их удалением
docker-compose stop # без удаления
- Или остановить сочетанием клавиш:
Ctrl+C # windows, linux
command+C # Mac
- В директории price_monitoring_product файл example.env переименовать в .env-non-dev и заполнить своими данными:
DB_HOST=db_host
DB_PORT=db_port
DB_NAME=db_name
DB_USER=db_user
DB_PASS=db_pass
POSTGRES_DB=db_name
POSTGRES_USER=db_user
POSTGRES_PASSWORD=db_pass
TOKEN=telegram_bot_tocken
-
Создать и запустить контейнеры Docker, как указано выше.
-
Документация будет доступна по адресу: документация
-
Телеграм бот будет доступен по адресу: Телеграм бот
Редько Анатолий 2023 г.