# Quasar

## Descripción

Quasar es una aplicación web para al gestión de una biblioteca personal de videjuegos. Permite a los usuarios catalogar, organizar y buscar sus juegos de manera eficiente. Se pueden agregar videjuegos físicos, digitales y roms de emuladores.

## Características

- **Catálogo de Videjuegos**: Permite agregar, editar y eliminar juegos de la biblioteca.
- **Organización**: Clasificación por género, plataforma, estado (completado, en progreso, pendiente) y calificación personal.
- **Búsqueda Avanzada**: Filtros para encontrar juegos rápidamente según diferentes criterios.
- **Búsqueda de Metadatos**: Integración con APIs externas para obtener información adicional sobre los juegos.

## Otros proyectos relacionados, para coger ideas y funcionalidades

| Herramienta           | Categoría                     | Descripción                                                                                     | Features Destacadas                                                                                     | Ideal Para                                                                                     | Enlace Oficial                                                                                     |
|-----------------------|-------------------------------|-------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------|
| RomM                  | Gestor de ROMs y Metadatos    | Gestor self-hosted de ROMs con interfaz web moderna.                                           | Escanea, enriquece y navega por colecciones de juegos. Obtiene metadatos de IGDB, Screenscraper y MobyGames. Descarga automática de carátulas y fanarts. | Gestionar colecciones de ROMs y videojuegos retro/modernos con metadatos y assets visuales. | [GitHub - RomM](https://github.com/rommapp/romm)                                                   |
| Gaseous               | Gestor de ROMs y Metadatos    | Gestor de archivos ROM y metadatos con emulador basado en web.                                | Gestión de metadatos y archivos ROM. Emulador integrado accesible desde navegador.                         | Usuarios que buscan una solución todo-en-uno para ROMs y emulación web.                        | [GitHub - Gaseous](https://github.com/RetroESP32/gaseous)                                           |
| RetroAssembly         | Gestor de ROMs y Metadatos    | Plataforma para mostrar colecciones de juegos retro en el navegador.                          | Interfaz web para visualizar y organizar juegos retro.                                                      | Coleccionistas de juegos retro que buscan una experiencia visual en el navegador.             | [GitHub - RetroAssembly](https://github.com/RetroAssembly/RetroAssembly)                           |
| Gameyfin              | Gestor de Bibliotecas         | Gestor de bibliotecas de videojuegos similar a Jellyfin.                                      | Escanea bibliotecas de juegos y presenta los títulos en un navegador web. Organiza juegos de Steam, Epic, GOG y otras fuentes. Interfaz limpia y soporte para plugins. | Gestionar y compartir juegos digitales con amigos o familia.                                       | [GitHub - Gameyfin](https://github.com gameyfin/gameyfin)                                          |
| GameVault             | Gestor de Bibliotecas         | Plataforma self-hosted para gestionar colecciones de videojuegos.                             | Integración con IGDB para metadatos y carátulas. Clasificación por edades y personalización de metadatos. Sistema de plugins. | Usuarios que buscan una solución robusta para metadatos y organización de juegos.               | [GameVault](https://gamevau.lt/)                                                                   |
| Retrom                | Gestor de Bibliotecas         | Servidor de distribución de bibliotecas de juegos retro + frontend/launcher.                  | Distribución y lanzamiento de juegos retro desde tu propio servidor. Interfaz personalizable.             | Colecciones de juegos retro y distribución centralizada.                                         | [GitHub - Retrom](https://github.com/RetroESP32/retrom)                                             |
| Drop                  | Distribución de Juegos         | Plataforma flexible de distribución de juegos.                                                | Permite distribuir y gestionar juegos de forma centralizada.                                               | Distribución de juegos en redes locales o comunidades.                                           | [GitHub - Drop](https://github.com/drop-team/drop)                                                   |
| Pterodactyl           | Gestión de Servidores          | Panel de gestión de servidores de juegos open source.                                        | Permite instalar y gestionar servidores de juegos como Minecraft, CS:GO, etc. Interfaz web moderna y soporte para múltiples usuarios. | Administrar servidores de juegos para comunidades o grupos.                                      | [Pterodactyl](https://pterodactyl.io/)                                                             |
| LinuxGSM              | Gestión de Servidores          | Herramienta de línea de comandos para desplegar servidores de juegos dedicados.              | Soporte para más de 100 servidores de juegos. Automatización de instalación y actualización.              | Usuarios avanzados que prefieren la línea de comandos.                                           | [LinuxGSM](https://linuxgsm.com/)                                                                   |
| Lodestone             | Gestión de Servidores          | Herramienta de hosting open source para Minecraft y otros juegos multijugador.                | Gestión simplificada de servidores de Minecraft y otros juegos.                                           | Hosting de servidores de Minecraft y juegos similares.                                          | [GitHub - Lodestone](https://github.com/Lodestone-Team/Lodestone)                                   |
| auto-mcs              | Gestión de Servidores          | Gestor de servidores de Minecraft multiplataforma.                                          | Automatización de la gestión de servidores de Minecraft.                                                   | Usuarios que buscan una solución sencilla para Minecraft.                                       | [GitHub - auto-mcs](https://github.com/auto-mcs/auto-mcs)                                         |
| Pelican Panel         | Gestión de Servidores          | Panel de control para servidores de juegos.                                                  | Interfaz web para gestionar servidores de juegos.                                                          | Alternativa a Pterodactyl, con enfoque en simplicidad.                                           | [GitHub - Pelican Panel](https://github.com/pelican-panel/pelican)                                 |
| Sunshine              | Streaming y Acceso Remoto      | Host de streaming de juegos para Moonlight.                                                  | Permite transmitir juegos desde tu PC a otros dispositivos.                                              | Jugar en remoto desde tablets, móviles o TVs.                                                     | [GitHub - Sunshine](https://github.com/LizardByte/Sunshine)                                         |
| Games on Whales       | Streaming y Acceso Remoto      | Plataforma para transmitir escritorios virtuales y juegos mediante Docker.                  | Streaming de juegos y escritorios virtuales.                                                             | Usuarios que buscan una solución de streaming basada en Docker.                                  | [GitHub - Games on Whales](https://github.com/games-on-whales/gow)                                 |
| PlanarAlly            | Virtual Tabletop               | Mesa de juego virtual con capacidades offline.                                               | Soporte para juegos de rol y tablero.                                                                       | Jugadores de rol que buscan una mesa virtual self-hosted.                                        | [GitHub - PlanarAlly](https://github.com/PlanarAlly/planarally)                                   |
| Foundry Virtual Tabletop | Virtual Tabletop            | Plataforma moderna para juegos de rol.                                                        | Herramientas avanzadas para masters y jugadores.                                                          | Comunidades de juegos de rol que buscan una solución profesional.                                 | [Foundry Virtual Tabletop](https://foundryvtt.com/)                                                |
| LANCommander         | Distribución de Juegos         | Plataforma open source para distribución digital de videojuegos.                              | Permite distribuir juegos en una red local.                                                                 | Distribución de juegos en LAN o comunidades pequeñas.                                             | [GitHub - LANCommander](https://github.com/LANCommander/LANCommander)                             |
| Fireshare             | Distribución de Juegos         | Comparte clips de juegos, videos u otros medios mediante enlaces únicos.                      | Comparte contenido multimedia de forma sencilla.                                                          | Compartir capturas o videos de juegos con amigos.                                                 | [GitHub - Fireshare](https://github.com/fireshare/fireshare)                                       |
| Crafty Controller     | Herramientas para Minecraft    | Panel de control y lanzador para servidores de Minecraft.                                    | Gestión simplificada de servidores de Minecraft.                                                          | Administrar servidores de Minecraft de forma visual.                                           | [GitHub - Crafty Controller](https://github.com/crafty-controller/crafty-controller)               |
| Steam Headless        | Herramientas para Steam        | Servidor remoto de Steam sin cabeza (headless) mediante Docker.                                | Permite gestionar juegos de Steam en un servidor remoto.                                                  | Usuarios que quieren acceder a su biblioteca de Steam desde un servidor.                        | [GitHub - Steam Headless](https://github.com/steamheadless/steamheadless)                         |

## Dependencias nativas para tests de integración

Algunos tests de integración (p. ej. verificación de DATs, lectura de CHD/7z)
requieren herramientas nativas instaladas en el sistema donde se ejecuten
los tests (local o CI). A continuación está la lista mínima y cómo instalarlas:

- `7z` / `p7zip` — necesario para extraer/leer ZIP y 7z.
	- Debian/Ubuntu: `sudo apt update && sudo apt install -y p7zip-full p7zip-rar`
	- macOS (Homebrew): `brew install p7zip`

- `chdman` — herramienta de MAME para manejar archivos CHD (opcional,
	requerida para tests que trabajen con imágenes CHD).
	- Debian/Ubuntu: intentar `sudo apt install -y mame-tools` o `sudo apt install -y mame`.
	- macOS (Homebrew): `brew install mame`
	- Si no hay paquete disponible, descargar o compilar MAME/CHDTools desde
		las fuentes oficiales.

Notas:
- En CI se intentará instalar estas herramientas cuando sea posible; si no
	están disponibles los tests de integración que dependan de ellas pueden
	configurarse para ejecutarse condicionalmente.
- La variable de entorno `INTEGRATION=1` controla si se ejecutan pruebas
	más pesadas y dependientes de binarios.
