Electron.js application dependent on a Node.js backend

Case Study

Short summary about a desktop app I wrote

You can download my app on Windows PC!

Setting

What am I trying to do here?

Fortnite doesn't have a ranked mode. It has a competitive playlist but it doesn't really incentivize smart or quality gameplay. So I wrote an app that gives players something to play for.

Architecture

Electron.js + Node.js + MySQL

My app forwards data it parses from the game replay file Fortnite emits while you play and stores it in a MySQL database.

Parsing Game Files

How I'm getting the data

The electron app creates a child process that watches a directory where game files are managed. When a file is updated, it checks for an encryption key. With that key, it steps through and finds stats like eliminations and placement.

What This Achieves

What do my users get out of this?

Normally in Fortnite, players just try to get as many eliminations as they can. This leads to bad gameplay. To combat this, my app awards more points to players who get eliminations in the late part of the match. This causes players to be smart and cautious which provides a better experience for everyone.

The app displays a histogram which shows the distribution of users on the ranked ladder. Seeing where you rank relative to the community provides a desire to play well in each game you are a part of.

Lastly, my app has a pay-to-play system. The higher you climb on the ladder, the more expensive the "fare" is. This gives meaning to your ranking.

What's Next? Check out my mobile app called DMVP!