I've noticed there are many price trackers, but they are either paid with missing data or outdated solutions, so I decided to build my own for amazon ( so far ) which I use the most.
Right now I have tested it for the couple stores that are saved, but I will probably test it for other stores for the future, with an update mechanism to update the crawlers.
It's still a simple tracker, so errors can be found so don't expect it to compete with the best websites out there, but I am planning to support it even more since I have a personal usage for it.
Copy .env.example to .env file
cp .env.example .env
Change the database credentials in .env file
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=laravel
DB_USERNAME=root
DB_PASSWORD=
add your email to send notification from it
MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=yournewemail@gmail
MAIL_PASSWORD="VeryComplicatedPassword"
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS="yournewemail@gmail"
MAIL_FROM_NAME="${APP_NAME}"
if you want to support me and my work, feel free to change the following:
ALLOW_REF=0
to
ALLOW_REF=1
this will enable referrals and will support me as a developer. please note this is not mandatory, and the software will run normally without issues whether it's enabled or disabled.
Run Composer install
composer install
Link the storage to use the images
php artisan storage:link
Migrate the data with the seed
php artisan migrate:fresh --seed --no-interaction
Generate an app key
php artisan key:generate
The server should be up and running with the following credentials
email : [email protected]
password: password
you need to Change the email once you log in if you want to receive emails.
The app will check for prices for single products every 5 minutes, and for the group list every 15 minutes.
pls refer to this for how to set up your cron setup depending on your need. [https://laravel.com/docs/10.x/scheduling#running-the-scheduler]
then you need to add the following command in your cron to run every second.
* * * * * /path/to/php /path/to/app/artisan queue:work --stop-when-empty >> /dev/null 2>&1
And that should be enough for the app to run.
After you're done and everything is running fine, go to your .env file and change the following:
APP_ENV=production
I have added a htaccess file in case you need it, so don't forget to rename them to .htaccess if you want to use it
- Check Price or products across multiple Amazon Stores
- Notify Via Email if the price reach the desired amount
- Create Group of products with set of prices
- Clothes and sizes are not working, but im working on a fix.
Server: Laravel , FilamentPHP.
Feel free to open an issue, but please provide the product link along with the service caused the issue.
I might request the log file in case I couldn't detect the problem.