GameRec.com is an advanced game recommendation platform that helps users discover new games based on their unique preferences. Unlike Steam’s built-in recommendation system, which primarily relies on game tags and popularity, GameRec.com leverages a Machine Learning model powered by a Compressed Sparse Row (CSR) matrix to analyze deep relationships between games. This approach efficiently handles large-scale game-player interaction data, capturing nuanced similarities beyond traditional tag-based filtering. By applying collaborative filtering and content-based learning, GameRec.com delivers more personalized, data-driven recommendations, helping users find hidden gems that align with their gaming interests. The platform integrates with Steam API to fetch game details, provides an intuitive UI for seamless exploration, and allows users to sign in with Google to save and track their favorite games.
- 🔍 Search for games and receive recommendations dynamically.
- 🎮 Steam API Integration – Fetch real-time game details.
- 🛠️ Recommendation System – Get personalized game suggestions.
- 🚀 Interactive UI – Seamless navigation and dynamic game listing.
- 🔐 Google Authentication – Save favorite games to your account.
- ❤️ Like & Save Games – Keep track of your favorite games.
GameRec/
├── auth.py # Handles authentication (Firebase)
├── fetch_detail.py # Retrieves game details
├── recommendation.py # Game recommendation logic
├── youtube_call.py # Fetches YouTube-related game content
├── main.py # Main backend script (Flask API)
├── firebase-service-account.json # Firebase credentials (DO NOT EXPOSE)
│
│── templates/
│ ├── index.html # Main UI layout
│── statics/
│ ├── front-end.js # Handles UI interactions
│ ├── scripts.js # Handles game search & suggestions
│ ├── scripts-rec.js # Manages recommendations
│ ├── signin.js # Google Sign-In logic
│ ├── static/ # CSS & other assets
│
│── README.md # Project documentation
│── requirements.txt # Python dependencies
│── .gitignore # Git ignored files (e.g., secrets, cache)git clone https://github.com/s21dy/gamerec.com.git
cd gamerec.comEnsure you have Python 3.x installed, then set up a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows use: venv\Scripts\activate
pip install -r requirements.txtSteam API: Obtain a Steam API key from Steam Developer Portal and add it to your environment variables.
Firebase Authentication: Set up Firebase in your Firebase Console.
Store your Firebase credentials in firebase-service-account.json (Ensure this file is NOT committed to GitHub).
python main.pySimply open index.html in your browser, or serve it using a local server:
python -m http.server 8000
Then, visit http://localhost:8000 in your browser.
📌 How It Works
- User searches for a game ➝ The app queries Steam API.
- Recommendations are fetched based on similar game tags.
- User clicks a recommended game ➝ Loads detailed game info.
- Sign in with Google to save liked games for future reference.
🔧 Dependencies
- Backend (Python & Flask)
- Flask
- Firebase Admin SDK
- Requests
- Frontend (HTML, JavaScript)
- Firebase Authentication
- Steam API
Install dependencies using:
pip install -r requirements.txt🛡 Security Notes
🚨 DO NOT expose your firebase-service-account.json or Steam API key publicly.
Use .gitignore to exclude sensitive files.
📜 License MIT License © 2025 Sandy Yang