# WhatToPlay - Game Library Manager Eine PWA zum Verwalten deiner Spielebibliotheken von Steam, GOG, Epic, und mehr. ## Features - 📚 Alle Spiele an einem Ort - 🎮 Steam, GOG, Epic Games, Battle.net Integration - 📱 PWA - funktioniert auf iPhone, Android, Desktop - 🔒 Daten bleiben lokal (IndexedDB) - ⚡ Schnelle Tinder-Style Entdeckung ## Deployment Die App läuft komplett auf Uberspace (~5€/Monat): - **Frontend**: PWA (statische Files) - **Backend**: Node.js Express Server (CORS-Proxy für Steam API) - **URL**: https://wtp.uber.space Details zum Deployment siehe [UBERSPACE.md](UBERSPACE.md). ## Steam API Integration ### 1. Steam API Key bekommen 1. Gehe zu https://steamcommunity.com/dev/apikey 2. Akzeptiere die Terms 3. Domain: `localhost` (wird ignoriert) 4. Kopiere deinen API Key ### 2. Steam ID finden Option A: Steam Profil URL nutzen - `https://steamcommunity.com/id/DEINNAME/` → ID ist `DEINNAME` Option B: SteamID Finder - https://steamid.io/ ### 3. In der App konfigurieren 1. Öffne https://wtp.uber.space 2. Gehe zu **Settings → Steam** 3. Füge **Steam API Key** und **Steam ID** hinzu 4. Klicke auf **Refresh** → Deine Spiele werden geladen! 🎉 ## Architektur ``` PWA (wtp.uber.space) ↓ POST /api/steam/refresh Express Backend (wtp.uber.space:3000) ↓ Forward mit API Key Steam Web API ↓ Games List Backend → PWA → IndexedDB ``` ## Local Development ```bash npm install npm run dev ``` Der Dev-Server nutzt Vite-Middleware für API-Calls, kein separates Backend nötig. ## Weitere Plattformen - **GOG**: OAuth Flow (geplant) - **Epic Games**: Manueller Import (kein Public API) - **Battle.net**: OAuth Flow (geplant) ## Tech Stack - React + TypeScript - Ionic Framework (Mobile UI) - IndexedDB (lokale Persistenz) - Vite (Build Tool) - Node.js Express (Backend) - Uberspace (Hosting) ## License MIT