Home

Nov 2016 - Apr 2017

Today in Destiny

About

Today in Destiny was a website that displays a summary of the available activities and events in Bungie's video game, Destiny. It was accompanied by a Twitter bot that tweeted out a summary of the weekly activities at the beginning of the week. I built Today in Destiny to learn more about modern web development and specifically chose to avoid the .NET stack (e.g. ASP.NET MVC) as I was already familiar with it.

The frontend is built using React and a flux pattern implementation called Alt. The backend is a Node.js application built on top of ExpressJS that exposes a REST API to the frontend. The backend queries the Bungie.net API to retrieve data about the active events in Destiny. Because both the backend and frontend are written in JavaScript, the initial render of the React DOM can be performed on the server to reduce page load times ("server-side rendering"). I used Gulp to implement a custom build process that transpiles ES2015 JavaScript into backwards-compatible JavaScript using Babel, allowing me to use modern language features while still target older browsers. The build process also downloads and extracts the Destiny manifest (static data pertaining to the game), compiles LESS stylesheets into CSS, minifies images and bundles the app using Browserify. To improve local iteration speed, the build process also supports running in a "watch" mode that executes the above steps and reloads the browser using Browsersync whenever a source file changes. The source code is hosted in GitHub and any commits to the master branch automatically trigger a deployment to Heroku.

Links

Technologies Used

Languages JavaScript, LESS
Frameworks React, ExpressJS
Tools Node.js, Heroku, Gulp

Media

Today in Destiny - Homepage
The home page provides an overview of active events and weekly activities.
Today in Destiny - Xûr
Inspect items sold by Xûr, the weekly Exotic item vendor.
Today in Destiny - Activity details
View the current modifiers and available rewards for weekly activities.
Today in Destiny - Vendor Sales
View the current offerings for vendors whose stock rotates weekly.
Today in Destiny - Twitter bot summary
An example of a weekly summary image that is generated and tweeted once a week.