Eine moderne macOS und iPadOS App für QuizMaster, um Punkte bei Pub Quiz-Veranstaltungen zu verwalten und Ranglisten zu erstellen.
PubRanker ist dein zentraler Hub als QuizMaster - mit drei klaren Phasen:
-
📅 Planen - Quiz vorbereiten
- Quiz erstellen mit allen Details
- Teams und Runden konfigurieren
- Übersicht über die Vorbereitung
-
▶️ Durchführen - Live-Quiz Management- Echtzeit-Rangliste
- Schnelle Punkteeingabe
- Fortschrittsanzeige und Status-Tracking
-
📊 Auswerten - Ergebnisse analysieren
- Siegertreppchen für Top 3
- Detaillierte Statistiken
- Export als JSON/CSV
- ✅ Team-Verwaltung (Hinzufügen, Bearbeiten, Löschen)
- ✅ Runden-basierte Punktevergabe
- ✅ Automatische Ranglistenberechnung
- ✅ Live-Aktualisierung der Rankings
- ✅ Historie der Punktestände
- ✅ Export der Ergebnisse
- ✅ iCloud Backup & Sync - Automatische Synchronisation über alle Geräte
- 🎨 Customizable Themes
- 📊 Statistiken und Analysen
- 🏆 Achievements und Trophäen
- 📤 PDF-Export der Endergebnisse
- Framework: SwiftUI
- Plattformen: macOS 14.0+, iPadOS 17.0+
- Sprache: Swift 5.9+
- Datenpersistenz: SwiftData mit iCloud CloudKit Sync
- UI-Framework: SwiftUI mit modernem Design
- Cloud: iCloud CloudKit für automatisches Backup
- Xcode 15.0 oder höher
- macOS Sonoma 14.0+ für macOS-Entwicklung
- iOS 17.0+ SDK für iPadOS-Entwicklung
# Repository klonen
git clone https://github.com/akeschmidi/PubRanker.git
cd PubRanker
# Xcode-Projekt öffnen
open PubRanker.xcodeprojFür die Aktivierung von iCloud Backup und Sync, siehe detaillierte Anleitung: 📄 ICLOUD_SETUP.md
- Wechsle zur Phase "Planen"
- Erstelle ein neues Quiz mit Name, Ort und Datum
- Füge alle teilnehmenden Teams hinzu
- Definiere die Runden mit maximalen Punktzahlen
- Klicke "Quiz starten" wenn alles bereit ist
- Die App wechselt automatisch zur Phase "Durchführen"
- Gib Punkte für jede Runde ein
- Beobachte die Live-Rangliste in Echtzeit
- Schließe Runden ab wenn fertig
- Klicke "Quiz beenden" am Ende
- Betrachte das Siegertreppchen
- Prüfe detaillierte Statistiken
- Exportiere Ergebnisse als JSON oder CSV
- Teile die Ergebnisse mit den Teilnehmern
Siehe QUIZMASTER_HUB.md für die vollständige Dokumentation.
PubRanker/
├── App/
│ ├── PubRankerApp.swift # App Entry Point
│ └── ContentView.swift # Haupt-Navigation mit 3 Phasen
├── Models/
│ ├── Quiz.swift # Quiz-Datenmodell
│ ├── Team.swift # Team-Datenmodell
│ └── Round.swift # Runden-Datenmodell
├── Views/
│ ├── PlanningView.swift # 📅 Planungsphase
│ ├── ExecutionView.swift # ▶️ Durchführungsphase
│ ├── AnalysisView.swift # 📊 Auswertungsphase
│ ├── TeamManagementView.swift # Team-Verwaltung
│ ├── RoundManagementView.swift # Runden-Verwaltung
│ ├── ScoreEntryView.swift # Punkteeingabe
│ └── LeaderboardView.swift # Rangliste
├── ViewModels/
│ └── QuizViewModel.swift # Business Logic
└── Resources/
├── Assets.xcassets # App Icons & Images
└── Localizable.strings # Übersetzungen
- Verwenden Sie Swift-Konventionen
- SwiftUI-Views sollten klein und wiederverwendbar sein
- Nutzen Sie MVVM-Pattern für bessere Testbarkeit
# Unit Tests ausführen
cmd+U in Xcode
# UI Tests ausführen
cmd+U im UI Test TargetWir freuen uns über Beiträge! Bitte beachten Sie:
- Forken Sie das Repository
- Erstellen Sie einen Feature-Branch (
git checkout -b feature/AmazingFeature) - Committen Sie Ihre Änderungen (
git commit -m 'Add some AmazingFeature') - Pushen Sie zum Branch (
git push origin feature/AmazingFeature) - Öffnen Sie einen Pull Request
Dieses Projekt ist unter der MIT-Lizenz lizenziert - siehe LICENSE Datei für Details.
GitHub: @akeschmidi
- QuizMaster Hub mit 3 Phasen
- Planungsphase mit Setup-Workflow
- Durchführungsphase mit Live-Features
- Auswertungsphase mit Statistiken
- Siegertreppchen und Podium
- Export als JSON/CSV
- SwiftData Persistenz
- iCloud Backup & Sync
- iPadOS-Optimierungen
- PDF-Export mit Custom Design
- Team-Avatars/Icons
- Dark Mode Verbesserungen
- Apple Watch Companion
- Erweiterte Analytics
- Custom Themes
- Multiplayer-Sync
- Inspiriert von der lebendigen Pub Quiz-Community
- Built with ❤️ für QuizMaster überall
PubRanker - Making Pub Quiz scoring easy and fun! 🍺🎯