Skip to content

Latest commit

 

History

History
59 lines (49 loc) · 3.15 KB

README.md

File metadata and controls

59 lines (49 loc) · 3.15 KB

Game Installation Monitoring & Alert System

Workflow Diagram

Overview

This project is part of a final project in a Cloud & Big Data Engineer course at @Naya College. The project is a Python-based monitoring system designed to track the installation trends of mobile games. The system uses real-time data from the Google Play Store to monitor installations and identify significant spikes in game popularity. Alerts are triggered if installation growth exceeds a defined threshold, allowing for timely analysis and decision-making.

The project consists of three core components:

  • Game Data Collection: Fetches daily installation counts for selected games from the Google Play Store.
  • Trend Analysis: Monitors installation growth over time, calculating percentage increases.
  • Alert System: Triggers alerts if a game's installation count shows a significant increase, allowing further analysis.

Usage

Prerequisites

  • Python 3
  • MySQL

Installation

  1. Clone the repository:
    git clone https://github.com/Nivshiz/Games_Monitoring
  2. Install the required Python packages:
    pip install -r requirements.txt
  3. Use create_game_monitoring_db.sql to set up the game_monitoring_db MySQL database, which create the games and installations tables necessary for monitoring game data.
  4. Create a .env file containing your MySQL credentials:
    DB_HOST = your_host
    DB_USER = your_user
    DB_PASSWORD = your_password
  5. Add your games to the games table: (app_id can be found in the google play url's game page. Just search the game in the google play store)
    INSERT INTO games (name, app_id) VALUES ('Coin Master', 'com.moonactive.coinmaster');
  6. Run the script to start monitoring (Daily manually):
    python monitor_installations.py

Configurations (optional):

  • Customize Average Period:: The script fetches installation counts for all games stored in the games table, calculates the average installs over the last 7 days, and triggers an alert if the increase exceeds the threshold. You can change the number of days calculated in the average.
  • Customize Threshold: You can change the threshold_percentage in the script to adjust the sensitivity of the alerts.

Future Work

  • Extract AppStore Data: Extract and combine installations count from both google play store and apple store.
  • Integrate Reddit Data: Fetch posts and comments from Reddit for data mining about the game.
  • Integrate OpenAI: Use GPT to analyze Reddit's data for a deeper understanding of the spikes in the installations count.
  • Cloud Deployment: Migrate to a cloud-based DB and schedule daily runs using a scheduler service.
  • Visualizations and Analysis: Use BI tools to create graphs and dashboards for analysts to visualize game trends.
  • Genericize: Make the system more generic so that the user only needs to select their game, and the system will automatically identify and monitor its competitors.