$ show jez500/pricebuddy
PriceBuddy is a self-hosted price tracking application built with Laravel and Filament. It monitors product prices across multiple retailers, sends notifications for price changes and stock availability, and provides insights like deal scores and seasonality analysis. The system features a web interface, API, and CLI for interaction, with background jobs handling periodic price checks. AI-assisted scraping is available for difficult sites. The architecture follows Laravel conventions with Eloquent ORM, event-driven notifications, and a modular service layer. Docker deployment simplifies setup with separate containers for app, database, and scraper services.
The LLM identified 4 files worth highlighting for reuse:
Handles currency conversion, formatting, and locale-specific display for prices. Isolated from core logic with minimal dependencies, demonstrating skill in floating-point precision and internationalization. Reusable in any financial application needing multi-currency support.
Core scraping service extracting product data using store-specific strategies (selectors, regex, schema.org) with AI-assisted fallback. Demonstrates robust strategy pattern and graceful degradation. Low coupling (depends only on web scraper package and AI service) making it extractable for other scraping projects.
Centralized service for accessing application settings from config and database. Reduces coupling to Laravel's config/settings packages, improving testability and reusability. Isolated with clear interface, suitable for extraction to other PHP projects needing configurable settings.
Implements Discord notification channel following Laravel's notification interface. Uniform implementation across channels (Discord, Telegram, Gotify, etc.) shows clean strategy pattern. Minimal dependencies (only HTTP client) allows easy extraction to any Laravel notification system.