by Emil Abraham
published on June 9, 2015, 4:02 p.m.

During my final coop, I was working on a Node.js application to create a status page that revealed to customers the state of our services. I decided to incorporate that knowledge into my own personal project.

In comes pentascore.

This is a Node.js application that pulls data from Riot's API and returns data on the number of multikills a summoner has achieved this season. Unfortunately, Riot only provides this data for ranked games, so that is the most I can grab. I had lots of fun completing this project and learned a lot about the various quirks of javascript. In particular, Node.js.

At work I learned about javascript Promises. I decided to use a promise library called bluebird to make handling asynchronous calls cleaner. Also, to avoid nesting callbacks in sequential asynchronous calls. You can check out the repository and see for yourself what I have done.

I also ventured into learning about Express.js. Which is a framework that works well with Node.js. Express was in charge of creating a simple web server that would handle requests and pass them to the correct router level middleware.

One of the final steps was actually hosting the Node.js application. I decided to stick with Apache for my webserver because it was already up and working for this site. Pentascore runs on localhost at port 3000. I set up apache to serve as a reverse proxy and basically serve what was on localhost. Finally, to make sure the application never crashed unexpectedly, I used the npm module, forever to keep it running.