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.
- Python 3
- MySQL
- Clone the repository:
git clone https://github.com/Nivshiz/Games_Monitoring
- Install the required Python packages:
pip install -r requirements.txt
- 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.
- Create a .env file containing your MySQL credentials:
DB_HOST = your_host DB_USER = your_user DB_PASSWORD = your_password
- 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');
- Run the script to start monitoring (Daily manually):
python monitor_installations.py
- 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.
- 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.