Price drop is a small app which allows tracking prices of added products and get email notification about price drop. Written with Laravel 11.
To run project locally it's recommended to install docker and use Laravel Sail.
After running docker with sail you can run:
cp .env.example .env
php artisan key:generate
php artisan migrate
php artisan db:seed --class=UserSeeder
- open website and login (login info is inside
\Database\Seeders\UserSeeder
)
To update prices for all retailers just run (also this command sends notification if price was dropped):
php artisan retailers:update
Or you can configure Laravel Task Scheduling
After running command. It will create queue jobs which later needs to be handled by a queue
php artisan queue:work
or php artisan queue:work --stop-when-empty
- Create a new class inside
App\Scraper\Scrapers
which implements\App\Scraper\ScraperInterface
interface. - Register new scraper class inside
\App\Providers\ScraperProvider::$scrapers
- Add test case inside
Tests\Unit\Scraper\Scrapers