XTREEMMAK/ggrequestz

A comprehensive game discovery and request application built with **SvelteKit 5**, featuring intelligent search, user authentication, and multiple integrations.

114

stars

234

commits

JavaScript

primary language

Aug 22, 2026

updated

README

G.G Requestz Logo

๐ŸŽฎ GG Requestz

A modern game discovery and request management platform with IGDB integration, ROMM library support, and powerful search capabilities.

Version License

โœจ Features

  • ๐Ÿ” Advanced Search - Search 200,000+ games with filters and real-time results
  • ๐Ÿ›ก๏ธ Content Filtering - Comprehensive ESRB rating filters, custom content blocks, and global game banning
  • ๐Ÿ”’ Global Content Controls - System-wide content filtering that supersedes user preferences for safe environments
  • ๐Ÿ“š Game Library Integration - Cross-references requests against your own library. ROMM, Gaseous and Retrom are supported, selected with LIBRARY_KIND
  • ๐Ÿ” Flexible Authentication - Any standards-compliant OIDC provider (Keycloak, Pocket ID, Authentik, Auth0, Okta, Entra ID) via discovery, plus basic auth with user registration
  • ๐Ÿ”‘ API Key Management - Generate scoped API keys for programmatic access with Bearer token authentication
  • ๐Ÿ“š Interactive API Docs - Complete OpenAPI 3.1 specification with dynamic server URLs at /api/docs
  • โšก High Performance - Redis caching, hover preloading, and optimized data fetching
  • ๐ŸŽจ Themeable UI - Selectable animated backgrounds and a glass sidebar theme, chosen per user
  • ๐Ÿ”” Outbound Webhooks - Post request events as JSON to any receiver - n8n, a download automation service, a script

๐Ÿ“น Preview

[VIDEO PROMO]

Desktop Preview - 01 Desktop Preview - 02 Desktop Preview - 03 Desktop Preview - 04 Desktop Preview - 05 Desktop Preview - 06 Desktop Preview - 07 Mobile Preview - 08 Mobile Preview - 09

๐Ÿš€ Quick Start

Get running in 5 minutes with Docker:

# Clone repository
git clone https://github.com/XTREEMMAK/ggrequestz.git
cd ggrequestz

# Configure environment
cp .env.example .env
nano .env  # Add your IGDB credentials and settings

# Start with Docker Compose
docker compose up -d

# Visit http://localhost:3000

๐Ÿ“– Full Quickstart Guide | ๐Ÿ”ง Configuration Options

๐Ÿ“– Documentation

Getting Started

Setup

Guides

Development

Getting help

  1. Setup problems - the guide for that service in docs/setup/
  2. An integration isn't working - INTEGRATIONS.md, then the container logs
  3. Development questions - CONTRIBUTING.md
  4. Bugs and feature requests - open an issue

Maintaining these docs. Documentation must describe shipped behavior. Several guides once documented environment variables that no code read, which produced user-facing bug reports (#4, #7). When you change a documented setting, grep for it in src/ before writing about it, and say so explicitly when a feature is planned rather than implemented.

๐Ÿ”ง Key Features Configuration

Global Content Filtering

Administrators can enforce system-wide content restrictions that supersede individual user preferences:

  • Ban Specific Games - Remove specific games by IGDB ID from all search results and listings
  • Keyword Blocking - Block games containing specific keywords in their titles
  • Genre Filters - Exclude entire genres from appearing in the system
  • ESRB Limits - Set maximum ESRB ratings globally
  • Mature Content - Hide mature and NSFW content system-wide

Access these controls in Admin Panel โ†’ Settings โ†’ Content Filtering

Use Case: Perfect for family-friendly environments, educational institutions, or organizations requiring content compliance.

Getting IGDB API Credentials

IGDB (Internet Game Database) provides the game data for G.G. Requestz. To get your API credentials:

  1. Create a Twitch Developer Account

  2. Register Your Application

    • Click "Register Your Application"
    • Fill in the required details:
      • Name: G.G. Requestz (or your preferred name)
      • OAuth Redirect URLs: http://localhost:5174 (for development)
      • Category: Application Integration
  3. Get Your Credentials

    • After registration, you'll receive:
      • Client ID โ†’ Use as IGDB_CLIENT_ID
      • Client Secret โ†’ Use as IGDB_CLIENT_SECRET
  4. Detailed Setup Guide

Note: These credentials are required for the application to fetch game data, search results, and cover images.

๐Ÿณ Docker Images

Pre-built Docker images are available:

# Pull latest image
docker pull ghcr.io/xtreemmak/ggrequestz:latest

# Pull specific version
docker pull ghcr.io/xtreemmak/ggrequestz:1.5.0

๐Ÿ“‹ v1.5.0 Release Notes: The library integration is no longer ROMM-specific: LIBRARY_KIND selects between ROMM, Gaseous and Retrom, and an optional local index answers listing, search and in-library queries from Postgres instead of the backend. Breaking: approval now gates fulfillment, so submitting a request no longer dispatches the outbound webhook. Enable request.auto_approve to keep the old behaviour, or nothing is sent downstream until an administrator approves. See the changelog before upgrading.

๐Ÿค Contributing

See CONTRIBUTING.md for development guidelines.

๐Ÿ™ Credits

Built and maintained by @XTREEMMAK.

@BlizzHacker contributed the backend-agnostic library layer and all three of its backends (ROMM, Gaseous and Retrom), the local library index that replaced the 2,000-ROM cross-reference window, the request approval workflow and its duplicate guard, the outbound request webhook, and the migration statement-splitter fix, across ten pull requests.

See the contributors graph for everyone who has worked on this.

๐Ÿ“ License

GPLv3 License - see LICENSE file for details.

Contributors

XTREEMMAK

194 commits

BlizzHacker

40 commits

XTREEMMAK/ggrequestz

A comprehensive game discovery and request application built with **SvelteKit 5**, featuring intelligent search, user authentication, and multiple integrations.

114

stars

234

commits

JavaScript

primary language

Aug 22, 2026

updated

README

G.G Requestz Logo

๐ŸŽฎ GG Requestz

A modern game discovery and request management platform with IGDB integration, ROMM library support, and powerful search capabilities.

Version License

โœจ Features

  • ๐Ÿ” Advanced Search - Search 200,000+ games with filters and real-time results
  • ๐Ÿ›ก๏ธ Content Filtering - Comprehensive ESRB rating filters, custom content blocks, and global game banning
  • ๐Ÿ”’ Global Content Controls - System-wide content filtering that supersedes user preferences for safe environments
  • ๐Ÿ“š Game Library Integration - Cross-references requests against your own library. ROMM, Gaseous and Retrom are supported, selected with LIBRARY_KIND
  • ๐Ÿ” Flexible Authentication - Any standards-compliant OIDC provider (Keycloak, Pocket ID, Authentik, Auth0, Okta, Entra ID) via discovery, plus basic auth with user registration
  • ๐Ÿ”‘ API Key Management - Generate scoped API keys for programmatic access with Bearer token authentication
  • ๐Ÿ“š Interactive API Docs - Complete OpenAPI 3.1 specification with dynamic server URLs at /api/docs
  • โšก High Performance - Redis caching, hover preloading, and optimized data fetching
  • ๐ŸŽจ Themeable UI - Selectable animated backgrounds and a glass sidebar theme, chosen per user
  • ๐Ÿ”” Outbound Webhooks - Post request events as JSON to any receiver - n8n, a download automation service, a script

๐Ÿ“น Preview

[VIDEO PROMO]

Desktop Preview - 01 Desktop Preview - 02 Desktop Preview - 03 Desktop Preview - 04 Desktop Preview - 05 Desktop Preview - 06 Desktop Preview - 07 Mobile Preview - 08 Mobile Preview - 09

๐Ÿš€ Quick Start

Get running in 5 minutes with Docker:

# Clone repository
git clone https://github.com/XTREEMMAK/ggrequestz.git
cd ggrequestz

# Configure environment
cp .env.example .env
nano .env  # Add your IGDB credentials and settings

# Start with Docker Compose
docker compose up -d

# Visit http://localhost:3000

๐Ÿ“– Full Quickstart Guide | ๐Ÿ”ง Configuration Options

๐Ÿ“– Documentation

Getting Started

Setup

Guides

Development

Getting help

  1. Setup problems - the guide for that service in docs/setup/
  2. An integration isn't working - INTEGRATIONS.md, then the container logs
  3. Development questions - CONTRIBUTING.md
  4. Bugs and feature requests - open an issue

Maintaining these docs. Documentation must describe shipped behavior. Several guides once documented environment variables that no code read, which produced user-facing bug reports (#4, #7). When you change a documented setting, grep for it in src/ before writing about it, and say so explicitly when a feature is planned rather than implemented.

๐Ÿ”ง Key Features Configuration

Global Content Filtering

Administrators can enforce system-wide content restrictions that supersede individual user preferences:

  • Ban Specific Games - Remove specific games by IGDB ID from all search results and listings
  • Keyword Blocking - Block games containing specific keywords in their titles
  • Genre Filters - Exclude entire genres from appearing in the system
  • ESRB Limits - Set maximum ESRB ratings globally
  • Mature Content - Hide mature and NSFW content system-wide

Access these controls in Admin Panel โ†’ Settings โ†’ Content Filtering

Use Case: Perfect for family-friendly environments, educational institutions, or organizations requiring content compliance.

Getting IGDB API Credentials

IGDB (Internet Game Database) provides the game data for G.G. Requestz. To get your API credentials:

  1. Create a Twitch Developer Account

  2. Register Your Application

    • Click "Register Your Application"
    • Fill in the required details:
      • Name: G.G. Requestz (or your preferred name)
      • OAuth Redirect URLs: http://localhost:5174 (for development)
      • Category: Application Integration
  3. Get Your Credentials

    • After registration, you'll receive:
      • Client ID โ†’ Use as IGDB_CLIENT_ID
      • Client Secret โ†’ Use as IGDB_CLIENT_SECRET
  4. Detailed Setup Guide

Note: These credentials are required for the application to fetch game data, search results, and cover images.

๐Ÿณ Docker Images

Pre-built Docker images are available:

# Pull latest image
docker pull ghcr.io/xtreemmak/ggrequestz:latest

# Pull specific version
docker pull ghcr.io/xtreemmak/ggrequestz:1.5.0

๐Ÿ“‹ v1.5.0 Release Notes: The library integration is no longer ROMM-specific: LIBRARY_KIND selects between ROMM, Gaseous and Retrom, and an optional local index answers listing, search and in-library queries from Postgres instead of the backend. Breaking: approval now gates fulfillment, so submitting a request no longer dispatches the outbound webhook. Enable request.auto_approve to keep the old behaviour, or nothing is sent downstream until an administrator approves. See the changelog before upgrading.

๐Ÿค Contributing

See CONTRIBUTING.md for development guidelines.

๐Ÿ™ Credits

Built and maintained by @XTREEMMAK.

@BlizzHacker contributed the backend-agnostic library layer and all three of its backends (ROMM, Gaseous and Retrom), the local library index that replaced the 2,000-ROM cross-reference window, the request approval workflow and its duplicate guard, the outbound request webhook, and the migration statement-splitter fix, across ten pull requests.

See the contributors graph for everyone who has worked on this.

๐Ÿ“ License

GPLv3 License - see LICENSE file for details.

Contributors

XTREEMMAK

194 commits

BlizzHacker

40 commits

Languages

JavaScript

59.6%

Svelte

35.8%

PLpgSQL

2.6%