Game Controller

Steam Theater is a messaging-broker web application

This collaborative Senior project was to be submitted at the end of the Fall 2019 semester as I was on course to graduate. The goal was to first, establish a four server-cluster consisting of: front-end, back-end, DMZ, and a messaging broker (RabbitMq) wired into a local network router to deploy a real-world web-service product that identified the user's least-played video-games on their Steam backlog, and present Twitch/YouTube streams of those video-games.

The user can also view their friend's least-played video-games and compare/contrast what their interests are in their games. Then, scale the project to 12 servers culminating into a 3 tier-cluster of production, development, and staging platforms before deploying.

How to complete this?

Our servers were created through Virtual Box Vm's in Ubuntu 18.04 and we had to configure our static IP addresses to the router. I was responsible of the front-end server, consisting of designing the site's interface authentication process, and writing the scripts required to produce/consume RabbitMq messages in the virtual-host's queue.

  • Map All REST API Requests

    Use Postman, an API platform, to configure all the required REST API requests needed to pull data from for the application. This data came from API's like Steam, YouTube, & Twitch to pull data such as game stats, player time spent, and views accounted for to track the hottest trending video games across all 3 platforms.

  • Design Web Application

    Use libraries like Bootstrap to build a robust web application that provided a way to sign in, present stat pages, player information, and playlists of the hottest video-game streams on twitch that matched with the video games the user spent the least amount of time on.

  • Deploy App & Backend To Messaging Broker

    Start developing the application and the backend database. Build a CURL script to verify if login info exists in university's DB. Build features such as Person to Person Messaging for student / mentor. Provide a cloud scheduler to set up meetings/appointments between them. Create profile activites and fragments, reusable components for UI building, network requests to servers, regularly update devices with latest announcements and notifications using Firebase. Finally, run tests on real android devices and into the hands of users for collect feedback, refine and prepare for presentation.

Project result and summary

Since our product required access to the user's Steam account including searches in Twitch/YouTube, I had to parse every JSON response from its API (from RabbitMq) and use the appropriate information required for use in the site. The complexity of the project meant that collaborating with others was crucial, and together, by adopting the SCRUM workflow, we were able to build our project well and efficiently.

Information

  • Project Name:
    Steam Theater
  • Clients:
    NJIT
  • Budget:
    N/A
  • Duration:
    4 months
  • Date:
    Sept, 2019

2,0+

Clients

8

Projects Complete

3+

Years of Experience