Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pyxus/game-recommender
https://github.com/pyxus/game-recommender
Last synced: 10 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/pyxus/game-recommender
- Owner: Pyxus
- Created: 2023-04-14T03:42:52.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-11-26T10:22:16.000Z (12 months ago)
- Last Synced: 2024-10-11T11:14:34.807Z (about 1 month ago)
- Language: Rust
- Size: 9.92 MB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Game Recommendation Tool
Game recommendation tool. The user provides games they enjoy as an input and the server generates a list of recommended games using a content based filtering algorithm.
## Introduction
This tool is a project developed primarily to practice my skill in Rust. Users can input games they enjoy and the recommender will generate a list of recommendations based on the input games.
### Technologies
This tool is built using the following technologies:
- Backend (Rust):
- [Rocket](https://rocket.rs/) - Used to create RESTful API which facilitates communication between the frontend and backend.
- [Nalgebra](https://nalgebra.org/) - Used in my implementation of the [content based filtering algorithm](https://developers.google.com/machine-learning/recommendation/content-based/basics).
- Frontend (React)
- External Services:
- [IGDB](https://www.igdb.com/) - Used to source relevant game information### Installation
The recommender is not currently hosted anywhere and since it was just for practice I didn't intend for anyone to use it. However, if you'd like to play with it below are some simple steps on how you could go about that.
1. Clone the repository
```shell
git clone https://github.com/Pyxus/game-recommender.git
cd game-recommender
```2. Setup the server:
- Install Rust and Cargo. Refer to the [Rust Installation Guide](https://www.rust-lang.org/tools/install).
- Obtain an API key from [IGDB](https://www.igdb.com/api)
- Create a `.env` file in the `server` directory.
```makefile
TWITCH_CLIENT_ID=YOUR_ID_HERE
TWITCH_CLIENT_SECRET=YOUR_SECRET_HERE
```
- Build and run the server
```shell
cd server
cargo run
```
3. Setup the frontend:
- Install NodeJs. Refer to [Node.js Downloads](https://nodejs.org/en/download)
- Install dependencies:
```shell
cd client
npm install
```
- Start frontend
```shell
npm run dev
```
- The project should now be live on your localhost.