PriceWatch — сервис мониторинга цен: ссылка на товар → проверка стоимости → история → уведомление в Telegram.
Пользователь добавляет URL, название и желаемую цену. Сервис проверяет товар по расписанию, сохраняет значения в PostgreSQL и уведомляет при снижении стоимости или достижении цели.
Реализовано:
• Добавление, редактирование, удаление и приостановка отслеживания товаров.
• Dashboard с текущей и предыдущей ценой, процентом изменения и временем проверки.
• Карточка товара с графиком истории и журналом цен.
• Настраиваемый интервал и ручная кнопка «Проверить сейчас».
• Парсинг HTML, структурированных данных и JavaScript-страниц через Playwright.
• CSS-селекторы и отдельные браузерные профили с сохранением сессий магазинов.
• Telegram-уведомления о снижении цены и достижении заданного значения.
• Очередь доставки, повторные попытки и защита от параллельных проверок.
Результат: приложение с реальной PostgreSQL, фоновым планировщиком и адаптивным интерфейсом. Цены и история проверены на реальных товарах. Пройдены 62 автоматических теста и production-сборка frontend. Подготовлены исходники, миграции, Docker Compose и инструкция запуска.
Стек: Python, FastAPI, SQLAlchemy, PostgreSQL, httpx, BeautifulSoup, Playwright, APScheduler, aiogram; Next.js, TypeScript, Tailwind CSS, Recharts; Docker, Alembic.