Backend Setup


Introduction

You are almost finished and ready to setup your back end part. once you setup jenkins and taken a build or just uploaded the laravel project in your project path. Please follow the below steps for running the server app.

Setup Instructions

  • rename the ".env-example" file to ".env"
  • Create a database using phpmyadmin
  • Setup DB config in .env file

    APP_URL=http://tagxi.com/future/public
    DB_PORT=3306
    DB_DATABASE=tyt-backend
    DB_USERNAME=your_user_name
    DB_PASSWORD=your_password
    
    • Sample .env file
      
      APP_NAME=tagxi
      APP_ENV=local
      APP_KEY=base64:8zIYjbZv9brVUOy0XdixW2Oxpkg7S7DCe20ptOMbaRU=
      APP_DEBUG=true
      APP_URL=http://localhost/tyt-truck/public

LOG_CHANNEL=daily

SYSTEM_DEFAULT_TIMEZONE=Asia/Kolkata SYSTEM_DEFAULT_CURRENCY = 'INR'

APP_FOR=production

DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=your_db_name DB_USERNAME=your_user_name DB_PASSWORD=your_user_password

BROADCAST_DRIVER=log CACHE_DRIVER=array QUEUE_CONNECTION=database SESSION_DRIVER=file SESSION_LIFETIME=120 REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379

MAIL_MAILER=smtp MAIL_HOST=smtp.sendgrid.net MAIL_PORT=587 MAIL_USERNAME=apikey MAIL_PASSWORD=SG.=KNd4LUxxowWdtklHgamytGu_mIBGMQhHVINFZiY MAIL_ENCRYPTION=tls MAIL_FROM_ADDRESS=suport@tagxi.com MAIL_FROM_NAME="tagxi"

AWS_ACCESS_KEY_ID= AWS_SECRET_ACCESS_KEY= AWS_DEFAULT_REGION=us-east-1 AWS_BUCKET=

FILESYSTEM_DRIVER=local SMS_PROVIDER=log

FIREBASE_DATABASE_URL=https://your-firbase-url.com/


* Need to configure database config in .env file mentioned above.

* run the below commands to run the project.

    * composer install
    * php artisan migrate
    * php artisan db:seed
    * php artisan passport:install
    * php artisan storage:link

<!-- <a name="section-3"></a>
## Node.js File Setup

* By run the node.js server file we will be fetch the nearest drivers using geofire in firebase realtime database. so we need to run the node file, please follow the below instructions.

Steps

* Find the node file by below path
    "project-file/node/geofire.js"

* run the server file by using pm2. "pm2 start geofire.js"
 -->
<a name="section-4"></a>
## Map Configuration

* To create zone & see map view  & other map functionalities we need to add google map key in admin app settings section.

<a name="section-5"></a>
## Firebase Configuration

* After created the account in firebase, you need to create realtime database by following the explanation in android setup document section. 

* After created the realtime database you need to copy the database url and paste it to the below .env variable
```php
FIREBASE_DATABASE_URL=https://your-app.firebaseio.com/
  • To get realtime drivers from fiebase we need to config web app in firebase. so that we need to create web app. image image
GOOGLE_MAP_KEY=AIzaSyBeTRs1icwooRpk7ErjCEQCwu0OQowVt9I
  • Generate firebase.json content and replace it in the below paths. Please find the image for how to generate firebase.json file.

    • public/push-configurations/firebase.json

image

Queue Setup

[program:laravel-worker]
process_name=%(program_name)s_%(process_num)02d
command=php /var/www/html/project-name/artisan queue:work --sleep=3 --tries=3
autostart=true
autorestart=true
user=ubuntu
numprocs=8
redirect_stderr=true
stdout_logfile=/var/www/html/project-name/worker.log
stopwaitsecs=3600
  • We need to run cron jobs so that please open the cronjob file and enter the below line with your projrvt name.
  • to open cronjob file please use the following command "crontab -e"
* * * * * cd /var/www/html/taxi && php artisan schedule:run >> /dev/null 2>&1

Translation

  • We have used barryvdh/laravel-translation-manager for the admin app translations

  • For Mobile Translation keywords you need to enable the translation sheet api in google cloud console & get the api key from there & paste in to our .environment value below like this.

GOOGLE_SHEET_KEY = AIzaGyBVE-WE-lwXhxWFHJthZ6FleF1WQ3NmGAV