The idea for this project came when I stumbled across a few websites that provided access to Xbox Live user content and found them all to be powered by a 3rd party website and not an official Xbox Live API. When I couldn't find an offical Xbox Live API, I wanted to try and recreate the functionality.

I managed to get a few working APIs to fetch game clips by Xbox gamertag (username). I built the APIs with Node.js using Express and tied them to Reflux actions. I built the frontend using React.js and a material design library, and I used Firebase to store data as well as provide user profiles and authentication.

I later found out that while there wasn't a public API, Microsoft had given a few companies access to data feeds that weren't available to the general public. While my APIs have since broken, preventing new data from being fetched, the project is available to view on heroku with cached data stored in firebase at here. Please allow about 30 seconds for the heroku server to start up.

I've also published the source code for this project on Github here.

What I Learned

This project was my first foray into React.js, Node.js, Webpack, and Heroku. I started this project to learn more about React and Node, but it also taught me a lot about webpack and setting up servers. This was the closest I had come to the DevOps side of software engineering. I tested hosting this project on Heroku, Digital Ocean, and AWS and realized the potential power of a container like Docker to manage the server configuration. I'd like to see all future web projects be developed within a Docker container to smooth the deployment process and to easily scale when new teammates or servers are added.


I'm currently interested in using immutable models, flux design pattern, and docker for scalability and platform agnostic development.