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.
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.
This tool is built using the following technologies:
- Backend (Rust):
- Rocket - Used to create RESTful API which facilitates communication between the frontend and backend.
- Nalgebra - Used in my implementation of the content based filtering algorithm.
- Frontend (React)
- External Services:
- IGDB - Used to source relevant game information
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.
- Clone the repository
git clone https://github.com/Pyxus/game-recommender.git
cd game-recommender- Setup the server:
- Install Rust and Cargo. Refer to the Rust Installation Guide.
- Obtain an API key from IGDB
- Create a
.envfile in theserverdirectory.
TWITCH_CLIENT_ID=YOUR_ID_HERE TWITCH_CLIENT_SECRET=YOUR_SECRET_HERE
- Build and run the server
cd server cargo run - Setup the frontend:
- Install NodeJs. Refer to Node.js Downloads
- Install dependencies:
cd client npm install- Start frontend
npm run dev
- The project should now be live on your localhost.
