Skip to content

Repository files navigation

GameMatch 🎮

Encuentra juegos en común con tus amigos sin revisar bibliotecas a mano.

Problema

Cuando un grupo de amigos quiere jugar algo, nadie sabe qué juegos tienen todos en común. Hay que revisar biblioteca por biblioteca, plataforma por plataforma.

Idea

  • Cada persona vincula/ingresa su cuenta (Steam primero; Epic y Xbox después si sus APIs lo permiten).
  • La app compara las bibliotecas del grupo y muestra la intersección.
  • Filtros por categoría/género/tags, estilo tienda (Steam-like).
  • UI moderna, mobile-first, 100% responsive (PC y móvil).
  • Estados de carga vistosos: el usuario siempre ve que "algo está pasando".

Funcionalidades

  • Juegos en común entre 2+ perfiles, con búsqueda, orden y filtros por género/categoría.
  • Casi en común: juegos que tiene todo el grupo salvo uno, con precio, ofertas y aviso de "gratis".
  • Ruleta 🎲: elige un juego al azar respetando los filtros activos.
  • Votación: cada uno marca 👍 y los votos viajan en la URL compartida (sin backend).
  • Jugando estas semanas: actividad reciente del grupo (últimos 14 días).
  • Mis grupos: grupos guardados en localStorage.
  • Badges de co-op (co-op online, pantalla dividida, PvP, cross-play).
  • PWA instalable (manifest + service worker).

Backlog

  • Login con Steam (OpenID) en vez de pegar la URL del perfil.
  • Epic Games: sin API pública de biblioteca hoy; fallback de carga manual.
  • Xbox vía OpenXBL (requiere registro de cada usuario, fricción alta).

Stack

  • Astro — sitio estático + islands para interactividad. Rápido por defecto.
  • Adapter Vercel — los endpoints en src/pages/api/ se despliegan como Serverless Functions (gratis en plan Hobby). No hay backend dedicado: las funciones solo hacen proxy a las APIs de las plataformas y ocultan las API keys.
  • TypeScript estricto.

Estructura

/
├── docs/            → documentación general (APIs, decisiones)
├── public/          → assets estáticos
├── src/
│   ├── components/  → componentes UI
│   ├── layouts/     → layouts base
│   ├── lib/         → clientes de API, lógica de comparación, tipos
│   ├── pages/       → rutas (cada archivo = una URL)
│   │   └── api/     → serverless endpoints (proxy a Steam, etc.)
│   └── styles/      → estilos globales
└── .env             → API keys locales (NUNCA commitear)

Convención: cada carpeta tiene un README.md con pautas para crear archivos en esa sección. Dentro de src/pages/ se llama _README.md (el prefijo _ evita que Astro lo convierta en ruta).

Comandos

Comando Acción
npm install Instala dependencias
npm run dev Dev server en localhost:4321
npm run build Build de producción
npm run preview Preview del build

Variables de entorno

Copiar .env.example a .env y completar. En producción se cargan en Vercel → Project → Settings → Environment Variables. Ver docs/APIS.md.

About

Encuentra juegos en común con tus amigos: vincula Steam/Epic/Xbox, compara bibliotecas y filtra por categoría. Astro + Vercel, sin backend dedicado.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages