Skip to content
Sourcecode for PandLove website.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
app feat: support pc players as they use na/eu server (not any) Apr 8, 2018
config Apply fixes from StyleCI Jan 19, 2018
database Apply fixes from StyleCI Jan 19, 2018
docker Add JPEG support & attempt xdebug work Oct 1, 2017
public lets encrypt rules Jun 18, 2017
resources feat: add missing moira and brigitte images Apr 8, 2018
storage support for hashes for class Sep 21, 2017
tests Apply fixes from StyleCI Sep 21, 2017
.gitattributes initial commit Feb 1, 2015
.gitignore update assets to yarn Jun 18, 2017
.gitlab-ci.yml Bye Bye DBAD, hello MIT Jun 30, 2017
artisan initial commit Feb 1, 2015 drop fk during build Jun 18, 2017
composer.json coinbase api Dec 23, 2017
composer.lock build: update php dependencies Dec 22, 2018
docker-compose.yml docker support (beta) Oct 1, 2017
gulpfile.js assets: fix jquery dist directory Apr 2, 2018
phpunit.xml update tests Jun 18, 2017 WIP: Fortnite Support Jan 16, 2018
semantic.json build: update yarn dependencies Dec 22, 2018
yarn.lock build: update yarn dependencies Dec 22, 2018

PandaLove Website (Destiny/H5/Xbox APIs)

build status License: MIT

PandaLove was a website devoted to tracking our weekly raid Tuesdays, PVP destruction and more in Destiny. It quickly grew to be more than that supporting now 3 full games (Destiny, Halo 5 & Overwatch) with countless plugins from Xbox API, Google Hangouts, Calendar and more.


  • Destiny
    • Profile Pages
      • Character gear
      • Light, playtime
      • Unbroken Games list
    • Post Game Carnage Reports
      • Score, Kills, Deaths, Assists, KD, KDR
      • Comment System
      • "Drunk Mode" - games added but not shown to visitors
    • Trials of Orisis complete card tracking/analytics
      • Random Map support
      • Determines boone usage based on win count
      • Support for games that enemy team quits out
      • Combined analytics of all trial matches
    • Xur Module
      • Determines Xur loadout, API endpoint for Google Hangouts
    • Grimoire Module
      • Determines grimoire over API for any user
  • Destiny 2
    • Profile Pages
      • Character gear
      • Light, playtime
  • Halo 5
    • Profile Pages
      • Warzone (Overview, Medals, Weapons)
      • Arena (Overview, Playlists, Seasons, Medals, Weapons)
      • CSR Percentile
    • Post Game Carnage Reports
      • Quick Game Facts
      • Per Team Analytics
      • Game MVP
      • Medal Overview
      • Per Spartan Stats (Medals, Weapons, Killed By, Killed)
    • Enhanced Post Game Carnage Reports
      • Chart of kills over time, points labeled with kill/death
      • Timeline of every weapon drop/pickup/kill/death
      • Top down maps (PRIMA licensed maps, restricted to admin panel)
      • Round module for round based games like Elimination
    • KD Over time charts
      • KD/KAD for Arena/Warzone of just clan members.
      • Updated daily before clan members time on Halo 5 reached none.
    • API Module
  • Overwatch
    • Profile Pages
      • Current Season analytics
      • Historic seasons as they end (nothing retroactive)
      • Per Character stats for seasons
  • Xbox
    • Validation System
      • Prove ownership of gamertag by using "motto" field for unique code
    • Online System
      • Checks active PandaLove members for online status via bot
    • GUID recording
      • Allows easier gamertag changes
  • Calendar
    • Event module
      • Create games for Destiny, Halo5 & Overwatch
      • RSVP via API in Google Hangouts
      • Make event via API in Google Hangouts
      • Specify character being used for Destiny
    • Calendar module
      • UI on website for clan members to view calendar
  • Google Hangouts
    • Alert module
      • Can send private messages at 15m and 5m till event to remind attendees
    • Association module
      • Google id allows look up of validated gamertags for easy API updates
  • API
    • Hangout module
      • Communicates with plugins to a Google hangout bot
      • Bot sits in chat awaiting /bot commands
    • Update module
      • Update Destiny stats via /bot destiny
      • Update Overwatch stats via /bot ow
      • Update Halo5 stats via /bot h5
      • Update Destiny2 stats via /bot d2



  • Get ready to go online and register for 3 API keys. Some sites don't have instant activation.
  • Go here - Get an XboxAPI API Key and put it in XBOXAPI_KEY in .env file.
  • Go here - Get a Destiny API Key and put it in BUNGIE_KEY in .env file.
  • Go here - Get a Halo API Key and put it in HALO5_KEY in .env file.
  • Go here - You don't need an API key for Overwatch, but be reasonable. Toss the dev some money.
  • Go here - You need the OAUTH keys harvested from an account.
  • Now we need to utilize those APIs to get some data. If you don't have API keys for the above 3 systems. This will fail.
    • php artisan halo5:batch-metadata
  • Go here - "Create a Project"
    • After creating project on Google Developer go to "Enable APIs and get credentials like keys"
    • Find "Google+ API" and enable it. Then click on it. Click "Credentials" on sidebar.
    • Create a "Web Application" application to get "ClientID", "Client Secret" and redirect URL.
    • Redirect URL will be $URL/auth/callback. In the case of php serve - http://localhost:8000/auth/callback.
    • Once created replace GOOGLE_REDIRECT with the RedirectURL in .env file.
    • Replace GOOGLE_ID with the ClientID in .env file.
    • Replace GOOGLE_SECRET with the Client Secret in .env file.

How to install (PHP 7.0)

  • Get Composer
  • Get NodeJs
  • curl -o- -L | bash
  • cp .env.example .env
  • php artisan key:generate
  • php artisan clear-compiled
  • npm install
  • composer install && yarn install
  • sudo npm install -g gulp
  • cd node_modules/semantic-ui; gulp build; cd ../..;
  • Create DB and user and add to .env
  • Go do API stuff above
  • php artisan migrate
  • php artisan db:seed
  • php artisan halo5:batch-metadata
  • php artisan serve

How to install (Docker)

  • docker-compose up --build
  • docker exec -it pandalove bash
  • (context inside that container)
  • cp .env.example .env
  • composer install
  • yarn install
  • npm install -g gulp
  • cd node_modules/semantic-ui; gulp build; cd ../..;
  • Go do API stuff above
  • php artisan migrate
  • php artisan db:seed
  • php artisan halo5:batch-metadata
  • visit localhost:8080 in browser


You can’t perform that action at this time.