Skip to content

Video Game Vault is an app built with Django where we find video game information obtained through Web scraping, the ability to search using Whoosh and a content-based Recommendation System.

License

Notifications You must be signed in to change notification settings

Jaime-Linares/VideoGame_Vault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🎮👾 VideoGame_Vault 👾🎮

Python Django BeautifulSoup Whoosh NumPy scikit-learn spaCy Langdetect License

Table of Contents

App Description

Video Game Vault is a web application developed with Django that centralizes information about video games obtained through web scraping. The platform allows you to explore video games, perform advanced searches, and discover personalized recommendations, combining simplicity and power in one place.

Purpose: Video Game Vault was created as a tool to centralize video game information and facilitate their search and discovery, ideal for gamers and collectors.

Key Features:

  • Data Retrieval:

    • Video games are automatically collected from Instant Gaming and Eneba using Beautiful Soup.
    • Data is stored in a database and organized for various searches.
  • Searches:

    • Simple Searches: Directly with Django, explore video games using basic filters such as genre, developer, platform...
    • Advanced Searches: Use Whoosh for more complex queries, such as specific keyword matches.
  • Authentication for Advanced Features:

    • Some features, such as data loading, the recommendation system, or advanced searches, are only available to authenticated users.
  • Detailed Video Game View:

    • View details such as release date, description, price, discount, rating, developer, genres, and platforms.
    • Discover personalized recommendations based on similarities with other video games.
  • Content-Based Recommendation System:

    • Based on content, it uses vectors that combine attributes of video games.
    • Implemented with tools like spaCy for natural language text processing, scikit-learn for similarity calculations, and NumPy for vector construction.

Technologies Used:

  • Django: The main framework for application development.
  • Beautiful Soup: For data extraction via web scraping.
  • Whoosh: Search engine for advanced queries.
  • spaCy, scikit-learn, and NumPy: Key components for the content-based recommendation system.

Steps to Start the App

Clone the Project

git clone https://github.com/Jaime-Linares/VideoGame_Vault.git

Install Dependencies

You have two options to work: with or without a virtual environment.

1. Install Dependencies with virtual environment

Using Linux
  • Create the virtual environment:
python3 -m venv venv
  • Activate the virtual environment:
source venv/bin/activate
  • Install dependencies:
pip install -r requirements.txt
Using Windows
  • Create the virtual environment:
python -m venv venv
  • Activate the virtual environment:
    venv\Scripts\activate
    • If you get an error related to script execution, you can temporarily modify the policy with:
      Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
  • Install dependencies:
    pip install -r requirements.txt
    

2. Install Dependencies without virtual environment

To successfully run this project, the following dependencies need to be installed:

  • Install Django:
pip install django==5.1.1
  • Install BeautifulSoup and a parser:
pip install beautifulsoup4==4.12.3
pip install lxml
  • Install Whoosh:
pip install whoosh==2.7.4
  • Install NumPy:
pip install numpy==2.0.0
  • Install scikit-learn:
pip install scikit-learn==1.5.1
  • Install spaCy and the required models:
pip install spacy==3.8.3
pip install https://github.com/explosion/spacy-models/releases/download/en_core_web_md-3.8.0/en_core_web_md-3.8.0.tar.gz
pip install https://github.com/explosion/spacy-models/releases/download/es_core_news_md-3.8.0/es_core_news_md-3.8.0.tar.gz
  • Install langdetect:
pip install langdetect==1.0.9

Run Migrations

python manage.py migrate

Start the Project

python manage.py runserver

Recommendations

First, I recommend creating an account so you can load the database, the Whoosh index, the recommendation system, and perform advanced searches using Whoosh.

Application Preview

  • Application just opened:

Initial Screen

  • Application after registering and loading data and the recommendation system:

Initial Screen

More Information about the App

If you want to have more knowledge about the functionality of the app and how each technology is used, you can consult the documentation found in docs folder.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

Video Game Vault is an app built with Django where we find video game information obtained through Web scraping, the ability to search using Whoosh and a content-based Recommendation System.

Resources

License

Stars

Watchers

Forks

Packages

No packages published