DFbuilder.com is an open-source feed management tool to perform rules on a datafeed.
You can apply different rules and categorizations to a the productfeed.
Finally you can export the optimized feed to different shopping channels. There is also a Google adwords integration, this enables you to create dynamic ads based on your productfeed.
#Installation
- clone the repository
git clone https://github.com/ermst4r/df
composer install
- Get an API key from pusher (http://www.pusher.com) and paste it in the .env file. (see below)
- Create an .env file and paste the following content
APP_ENV=local
APP_KEY=
APP_DEBUG=true
APP_LOG_LEVEL=debug
APP_URL=http://localhost
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=dfbuilder
DB_USERNAME=root
DB_PASSWORD=root
BROADCAST_DRIVER=pusher
CACHE_DRIVER=file
SESSION_DRIVER=file
QUEUE_DRIVER=database
REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379
MAIL_DRIVER=smtp
MAIL_HOST=mailtrap.io
MAIL_PORT=2525
MAIL_USERNAME=null
MAIL_PASSWORD=null
MAIL_ENCRYPTION=null
PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
- change the db settings and pusher settings in the .env file
- change the pusher key in the js file
resources/assets/dfbuilder/config.js
- finally run the following configurations
1. cd to/dfdirectory
2. Run npm install
3. Run npm run dev/production (depending on your environment)
5. run php artisan key:generate
5. install nvm and use node v.6.2.9 (curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.0/install.sh | bash)
6. php artisan migrate --seed
7. php artisan module:migrate Category
#Supervisor Job processor Supervisor is a client/server system that allows its users to monitor and control a number of processes on UNIX-like operating systems. Install suprivisor to manage the jobs queue's.
sudo apt-get install supervisor
cd /etc/supervisor/conf.d
- create a suprivisor conf file and change the path to your path
[program:dfbuilder-main-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/dfbuilder/artisan queue:work --queue=high,medium,low --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/dfbuilder/storage/logs/dfbuilder-main-worker.log
priority=1
[program:default-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/dfbuilder/artisan queue:work --queue=default --sleep=3 --tries=3 --daemon
autostart=true
autorestart=true
user=root
numprocs=1
redirect_stderr=true
stdout_logfile=/var/www/dfbuilder/storage/logs/default-worker.log
priority=2
- add the suprivisor file and run the following commands.
sudo supervisorctl reread
sudo supervisorctl update
sudo supervisorctl start dfbuilder-main-worker:* sudo supervisorctl start default-worker:*
- run
supervisorctl
to view all the running workers - if worker not working then run:
sudo supervisord
- or to restart suprivisor
supervisorctl restart all
Finally you need to start the cronjob.
* * * * * php /path-to-your-project/artisan schedule:run >> /dev/null 2>&1
Now your ready!
#Google adwords (Optional)
This requires that the clientId
and clientSecret
is from a native application.
Run $ php artisan googleads:token:generate
and open the authorization url.
Grant access to the app, and input the
access token in the console. Copy the refresh token into your configuration config/google-ads.php
Full instructions how to configure see here (https://github.com/nikolajlovenhardt/laravel-google-ads)
#Elasticsearch 5.5 See instructions over here https://www.elastic.co/guide/en/elasticsearch/reference/current/deb.html
- coming soon!! :)
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo add-apt-repository --yes ppa:ondrej/php
sudo apt-get update
sudo apt-get install --yes \
php5.6-common \
php5.6-cli \
php5.6-json \
php5.6-xml \
php5.6-dev \
php5.6-fpm \
php5.6-mcrypt \
php5.6-xmlrpc \
php5.6-mysql \
php5.6-gd \
php5.6-curl \
php5.6-mbstring \
php5.6-soap \
php-pear
sudo add-apt-repository ppa:webupd8team/java
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo add-apt-repository --yes ppa:ondrej/php
sudo apt-get update
sudo apt-get install --yes \
php7.0-common \
php7.0-cli \
php7.0-json \
php7.0-xml \
php7.0-dev \
php7.0-fpm \
php7.0-mcrypt \
php7.0-xmlrpc \
php7.0-mysql \
php7.0-gd \
php7.0-curl \
php7.0-mbstring \
php7.0-soap \
php-pear