ME Gaming

Midwest Electronics Gaming

What is this all about?

The overall goal of this project is to create a web portal for player and location account management.

Players will be able to accumulate rewards and find locations, while ME Gaming will be able to communicate with players, collect analytical data, and provide account information to locations.

Mobile App Technology Stack

PPush Notifications

Firebase

Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that sends notification messages to drive user re-engagement and retention.

S Social Login

Facebook

Google

User can choose from different types of social media login like facebook and google login

M Maps

Google Maps

Google Maps is a web mapping service developed by Google. It offers satellite imagery, aerial photography, street maps, 360° panoramic views of streets, real-time traffic conditions, and route planning for traveling by foot, car, bicycle, and air, or public transportation

Google Places API

The Places API is a service that returns information about places using HTTP requests. Places are defined within this API as establishments, geographic locations, or prominent points of interest.

CCamera Scanning

Punch-Card Camera Scanning

Users can scan QR code by using the device camera and get notification on every scan and collect the points.

CCrash Reporting

Firebase Crashlytics

Firebase Crashlytics is a lightweight, realtime crash reporter that helps you track, prioritize, and fix stability issues that erode your app quality.

Backend and Web App Technology Stack

PPush Notifications

Firebase

Firebase Cloud Messaging (FCM) is a cross-platform messaging solution that sends notification messages to drive user re-engagement and retention.

M Maps

Google Maps

Google Maps is a web mapping service developed by Google. It offers satellite imagery, aerial photography, street maps, 360° panoramic views of streets, real-time traffic conditions, and route planning for traveling by foot, car, bicycle, and air, or public transportation.

Google Places API

The Places API is a service that returns information about places using HTTP requests. Places are defined within this API as establishments, geographic locations, or prominent points of interest.

LLoad Balancer

Nginx

Nginx is a web server that can also be used as a reverse proxy, load balancer, mail proxy, and HTTP cache.

CCI/CD

Gitlab

GitLab is a web-based Git-repository manager with wiki, issue-tracking and CI/CD pipeline features.

BBackend Server

PHP-fpm

PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites

Node.js

Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.

SDatabase

Mysql

MySQL is an open-source relational database management system

CCache & message queue

Redis

Redis, RE-dis is an open-source in-memory data structure project implementing a distributed, in-memory key-value database with optional durability.

IInfrastructure Orchestration

Rancher

Rancher is enterprise management for Kubernetes.

Docker

Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications, whether on laptops, data center VMs, or the cloud.

App Features

ME Gaming will be able to communicate with players, collect analytical data, and provide financial account information to locations.

01.

Login Screen

After successful signup, Login gives ease of user experience.

Login With Facebook & Google scales down the time & effort of users from creating and remembering another username/password combination.

02.

Location Screen

The user can browse through the location in an easy to access map view and list view.

The ListView of locations will show a running list of ME Gaming locations, sorted by how far away each location is from the user. Each listing will show the location’s name, an identifying photo, address, and how far the user is from that location.

03.

Check-In

Users will be able to check in to the location they’re playing at.

Users will be able to click the Check-In icon, which will use the device’s location to check them in and gain the points. Users can check-in three times a day to receive the points and get the rewards by ME Gaming.

04.

Punchcards

Players can digitally punch through the app and redeem the special offers given by different gaming locations.

Each visit to a specified location will earn the user a punch on their punchcard. Once the user has earned a number of punches as require, they become eligible for offers. ‘My Cards’ will display all the current punchcards the user has a punch on.

05.

Specials

Listing of Special Locations

Allowing the user to search all locations currently running special offers. allowing the user to favorite that location easily, or click the locations name to be taken to it’s full, individual listing.

06.

Rewards

Users to redeem their points for rewards/prizes.

This section of the app will provide the user with three types of information: how to earn points, what their current points are, and a list of all the different reward options.

07.

Hometown

User’s default location will use this Hometown feature location

If users do not want to allow the app to use location information provided by the device, they can input a Hometown, such as a town or city.

Challenges

In Check-in functionality we needed to go to all the different locations for accuracy and real-time testing. During this real-time QA process of check-in, there were a number of use cases and test functions we had to check in respect to deliver the smooth experience to users. Many times due to the device’s limitation or policy we didn’t get accurate latitude and longitude of location which resulted in the wrong check-in.

The implementation of the outlook SDK was done at one go but the behaviour of the output was not as it should be. We dig up almost all the libraries and solution that claimed to be the right one like SDK of Rest API, Office 365, Outlook, Azure Active Directory and many more.

The hours of searching, implementing and testing failure led us to daily communication with Microsoft System Engineer.

Solution

We created a native module for location updates for Android OS, which provided us accurate updates, calculating the position via Wifi or GPS; whichever is available from the user’s device.

Available On