Skip to content

MS3B09/Games-Recommendation-System

ย 
ย 

Repository files navigation

๐ŸŽฎ Steam Games Analytics & Recommendation System

A comprehensive web application built with Streamlit that provides interactive analytics, AI-powered game recommendations, and an intelligent chatbot for exploring Steam's vast gaming library.

Python Streamlit License

โœจ Features

๐Ÿ“Š Interactive Dashboard

  • Comprehensive Analytics: Visualize 15,000+ Steam games with interactive charts
  • Price Analysis: Distribution of game prices and discount patterns
  • Genre Insights: Top 15 game genres with detailed breakdowns
  • Platform Support: Cross-platform availability statistics (Windows, macOS, Linux, SteamOS)
  • Release Trends: Monthly and yearly game release patterns
  • Developer Statistics: Top developers and publishers by game count
  • Review Analysis: User review distribution and sentiment
  • Word Cloud: Visual representation of game descriptions and themes

๐ŸŽฏ AI-Powered Recommendation System

  • Smart Recommendations: Content-based filtering using cosine similarity
  • Personalized Results: Get 1-15 similar game suggestions
  • Rich Game Cards: Beautiful UI with game images, pricing, and discounts
  • Detailed Information: Full game details including:
    • Release dates
    • Developer and publisher info
    • Original pricing and current discounts
    • Direct Steam store links
  • Responsive Design: Mobile-friendly interface with modern aesthetics

๐Ÿค– Intelligent Game Chatbot

  • Conversational AI: Powered by Llama 3 (8B parameters) via Groq
  • RAG Architecture: Retrieval-Augmented Generation using FAISS vector database
  • Natural Language Understanding: Ask questions in plain English
  • Game Discovery: Get personalized recommendations through conversation
  • Context-Aware: Remembers chat history for coherent dialogues
  • Rich Responses: Detailed game information and suggestions

๐Ÿ“ธ Screenshots

Dashboard

Capture d'รฉcran 2025-10-08 213546 Capture d'รฉcran 2025-10-08 213608

Recommendation System

Capture d'รฉcran 2025-10-08 213741 Capture d'รฉcran 2025-05-30 183931

AI Chatbot

Capture d'รฉcran 2025-05-30 183347

๐Ÿš€ Installation

Prerequisites

  • Python 3.8 or higher
  • pip package manager
  • Git

Setup Instructions

  1. Clone the repository
git https://github.com/HaFares/Game-Recommendation-System-.git
cd Game-Recommendation-System
  1. Create a virtual environment
python -m venv venv

# On Windows
venv\Scripts\activate

# On macOS/Linux
source venv/bin/activate
  1. Install dependencies
pip install -r requirements.txt
  1. Set up API keys

Create a .env file in the root directory or set environment variables:

export HUGGINGFACEHUB_API_TOKEN="your_huggingface_token"
export GROQ_API_KEY="your_groq_api_key"
  1. Prepare data files

Ensure the following files are in your project directory:

  • game_data_for_dashboard.csv - Main dataset for analytics
  • games_data_recomendation.csv - Dataset for recommendations
  • similarity_finale.pkl - Pre-computed similarity matrix
  • faiss_index/ - FAISS vector database directory

๐Ÿ“ Project Structure

steam-games-analytics/
โ”‚
โ”œโ”€โ”€ app.py                          # Main Streamlit application
โ”œโ”€โ”€ requirements.txt                # Python dependencies
โ”œโ”€โ”€ README.md                       # Project documentation
โ”‚
โ”œโ”€โ”€ data/
โ”‚   โ”œโ”€โ”€ game_data_for_dashboard.csv
โ”‚   โ”œโ”€โ”€ games_data_recomendation.csv
โ”‚   โ””โ”€โ”€ similarity_finale.pkl
โ”‚
โ”œโ”€โ”€ faiss_index/                    # Vector database for chatbot
โ”‚   โ”œโ”€โ”€ index.faiss
โ”‚   โ””โ”€โ”€ index.pkl
โ”‚
โ””โ”€โ”€ assets/                         # Images and static files

๐ŸŽฏ Usage

Running the Application

streamlit run app.py

The application will open in your default browser at http://localhost:8501

Navigation

Use the sidebar to switch between three main sections:

  1. Dashboard - Explore comprehensive game analytics
  2. Recommendation System - Find similar games based on your preferences
  3. Chatbot - Chat with AI to discover new games

๐Ÿ› ๏ธ Technologies Used

Core Framework

  • Streamlit - Web application framework
  • Python 3.8+ - Programming language

Data Processing & Visualization

  • Pandas - Data manipulation and analysis
  • NumPy - Numerical computing
  • Plotly - Interactive visualizations
  • Matplotlib & Seaborn - Statistical graphics
  • WordCloud - Text visualization

Machine Learning & AI

  • LangChain - LLM application framework
  • Groq - Fast LLM inference (Llama 3)
  • HuggingFace - Embeddings (all-MiniLM-L6-v2)
  • FAISS - Vector similarity search
  • Sentence Transformers - Text embeddings

UI Components

  • streamlit-shadcn-ui - Enhanced UI components

๐Ÿ“Š Data Sources

The application uses Steam game data including:

  • Game titles and descriptions
  • Pricing information and discounts
  • Release dates
  • Developer and publisher details
  • Platform compatibility
  • User reviews and ratings
  • Genre classifications
  • Game images and Steam store links

๐Ÿ™ Acknowledgments

  • Steam for providing the gaming data
  • Groq for fast LLM inference
  • HuggingFace for embedding models
  • The Streamlit team for the amazing framework
  • The open-source community for various libraries used

โญ If you find this project useful, please consider giving it a star!

Made with โค๏ธ and โ˜•

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%