Skip to content

LiamQuinoNeff/Steam-Recommendation-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

STP — Sistema de recomendación (Steam)

Proyecto de ejemplo para generar un índice centrado (para Pearson) a partir de un CSV de reseñas y arrancar una API que sirve recomendaciones.

Archivos CSV necesarios

Este repositorio ignora los archivos .csv por defecto (ver .gitignore). Para preparar los datasets (y los scripts de limpieza) se usa el repositorio ProofOfConcept:

Pasos mínimos (resumido — las instrucciones completas están en el README del repo anterior):

  1. Descarga steam_reviews.csv (p. ej. desde Kaggle: https://www.kaggle.com/datasets/najzeko/steam-reviews-2021/data).
  2. Clona o sitúa ese CSV en CC65-TP-202502-ProofOfConcept/data/.
  3. Desde la carpeta CC65-TP-202502-ProofOfConcept/data/ ejecuta los scripts de limpieza indicados en ese repo para generar steam_reviews_clean.csv y luego ejecuta su build_pearson para obtener clean_pearson.csv.
  4. Copia los CSV resultantes a este proyecto (o apunta aquí con las variables de entorno STP_RAW/STP_CLEAN).

Rutas usadas por la aplicación aquí:

  • data/steam_reviews_clean.csv — CSV crudo esperado por cmd/build_pearson.
  • data/clean_pearson.csv — CSV final que carga la API.

Esto evita duplicar instrucciones: para detalles de flags y limpieza, sigue el README del repo ProofOfConcept.

Ejecutar la API

La API carga clean_pearson.csv y (opcionalmente) el CSV crudo para construir un catálogo de aplicaciones. Usa las variables de entorno STP_CLEAN y STP_RAW para apuntar a los archivos si están en rutas no estándar.

Ejemplo (PowerShell):

# Opcional: apuntar explícitamente a los archivos (solo si están fuera de las rutas por defecto)
$env:STP_CLEAN = "data\\clean_pearson.csv"
$env:STP_RAW = "data\\steam_reviews_clean.csv"
$env:PORT = "8080"
go run .\cmd\api

También puedes compilar la API:

go build -o bin\api .\cmd\api
.\bin\api

Rutas HTTP disponibles (resumen):

  • GET /health — chequeo de estado.
  • GET /users/dense — lista de usuarios densos.
  • GET /users/{id}/profile — perfil de usuario.
  • GET /users/{id}/recommendations — recomendaciones para un usuario.
  • GET /users/{id}/recommendations/explain — explicación de recomendación.
  • GET /users/{id}/neighbors — vecinos por similitud.
  • GET /apps/{id} — info de una app.

Ejemplo simple con PowerShell (comprobar health):

Invoke-RestMethod -Uri http://localhost:8080/health

Resumen

  1. Coloca el CSV crudo steam_reviews_clean.csv en data/.
  2. Ejecuta build_pearson para generar data/clean_pearson.csv.
  3. Arranca la API (cmd/api) y prueba los endpoints.

About

API REST de sistema de recomendación de juegos de Steam basado en similitud de Pearson. Proporciona endpoints para perfiles de usuario, recomendaciones personalizadas, vecinos similares y explicación de sugerencias.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors