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%