Latest commit

History

223 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DailyQuest

Verwandle dein tägliches Training in ein episches Rollenspiel. Steige im Level auf, sammle Ausrüstung und werde zur besten Version deiner selbst.

Daily Quests Overview

Über das Projekt

DailyQuest ist eine Progressive Web App (PWA), die darauf abzielt, die Motivation für Sport und produktive Gewohnheiten durch konsequente Gamification zu steigern. Das Projekt wurde im Rahmen von Jugend forscht 2026 entwickelt und kombiniert moderne Webtechnologien mit psychologischen Motivationsmodellen.

Die Kernidee basiert auf dem "System"-Konzept aus dem Webtoon Solo Leveling: Alltägliche Aufgaben werden in Quests verwandelt, die Erfahrungspunkte (Mana), Gold und Charakterfortschritt bringen.

DailyQuest V2

DailyQuest 2 wird als neue Version mit modernisiertem Dashboard, Admin-Bereich und Convex-Datenbank vorbereitet. Die bestehende Open-Source-Version bleibt weiterhin nutzbar und behaelt Supabase-Sync fuer bestehende Nutzer bei.


Kernfunktionen

Gameplay-Mechanik

FeatureBeschreibung
Level-SystemJede Aufgabe gibt Mana (XP). Steige auf und verbessere deine Werte.
Tägliche QuestsAutomatisch generierte Aufgaben, angepasst an deine Ziele und Schwierigkeit.
StrafsystemVerpasste Quests haben Konsequenzen für Level und Stats - Disziplin wird belohnt.
Streak-SystemTägliche Nutzung wird getrackt. Streak Freezes retten deine Serie in Notfällen.
Extra-QuestsTägliche Herausforderungen mit hohem Risiko und hohen Belohnungen.

Charakter-System

Character Page
  • Dynamische Stats: Kraft, Ausdauer, Beweglichkeit, Durchhaltevermögen, Willenskraft.
  • Player-Labels: Über 20 personalisierte Titel basierend auf deinen individuellen Stärken.
  • Ausrüstung: Erwerbe Waffen und Rüstungen im Shop, um Boni für Kämpfe zu erhalten.
  • Fortschrittsvisualisierung: Radar-Diagramme für Stats und Linien-Diagramme für Gewichtsverlauf.

Training und Übungen

Über 50 Übungen sind für das Home-Gym und Eigengewichtstraining optimiert:

KategorieBeispiele
KraftBicep Curls, Deadlifts, Pistol Squats
AusdauerBurpees, Joggen, Hula Hoop
FettverbrennungMountain Climbers, Shadowboxing
KörpergewichtPush-ups, Plank, Hollow Body Hold
FokusLernen, Sprachen, Coding (Timer-basiert)
ErholungSpaziergänge, Dehnen, Lesen

Fokus-Modul

Focus Timer
  • Pomodoro-Timer und Stoppuhr für produktive Phasen.
  • Kategorien-System zur Einordnung der Sessions.
  • Belohnungen für abgeschlossene Fokus-Zeit zur Steigerung der Konzentration.

Dungeons und Kampf

Mit einer Wahrscheinlichkeit von 5% erscheint beim App-Start ein Dungeon:

  • Monster-Typen: Schattenwolf, Höhlenbär, Morast-Zombie mit skalierender Stärke.
  • Aktives Kampfsystem: Besiege Gegner durch das Absolvieren realer physischer Übungen.
  • Strategie: Nutze Ausrüstungs-Boni und verwalte deine persistenten HP.

Dokumentation

Detaillierte Informationen zur Architektur, zum Design und zur Theorie hinter DailyQuest findest du hier:


Tests

Das Projekt enthaelt eine Test-Suite mit 18 spezialisierten Modultests. Alle Tests werden mit Node.js ausgefuehrt:

node tests/run.js
#TestBereichBeschreibung
01syntaxSyntaxPrueft jede .js-Datei im Projekt auf syntaktische Korrektheit
02data-structureDatenValidiert Exercises, Achievements, Dungeons, Translations auf Vollstaendigkeit
03translationsLokalisierungStellt sicher, dass alle DE/EN-Keys paarweise existieren und konsistent sind
04pure-functionsLogikUnit-Tests fuer ageBand, difficulty-Multiplikator, scaleReps, formatDuration etc.
05settingsKonfigurationDefault-Werte, Typen, Validierung der User-Settings
06html-idsDOMPrueft, dass alle getElementById-Aufrufe in JS ein HTML-Gegenstueck haben
07css-themesStylingStellt sicher, dass alle CSS-Variablen in Dark, Light und OLED definiert sind
08training-plansDatenValidiert Trainingsplaene, Slots, Stages und Goal-Aliases
09service-workerPWACache-Name, Precache-URLs auf Existenz, Manifest-Validierung
10streak-penaltySpiellogikStreak-Berechnung, Penalty-Reset, Level-Up-Progression, Stat-Gains
11onboarding-equipmentEinrichtungOnboarding-Daten und Equipment-Auswahl
12endurance-no-logSpiellogikDirekter Abschluss von Ausdauer-Quests ohne Pflichtprotokoll
13update-safetyMigrationSchutz bestehender Plaene und Daten bei Updates
14exercise-completion-flowSpiellogikPersistenz, Belohnungen und Character-Aktualisierung beim Abschluss
15ai-plan-importDatenValidierung und Normalisierung importierter KI-JSON-Plaene
16daily-quest-completion-flowSpiellogikFunktionale Abschlussmatrix fuer Tap-, Fokus-, Ausdauer-, Satz- und Timer-Quests
17backup-restoreDatenLegacy-Import, Streak-Fortsetzung, Extra-Quest-Bereinigung und atomarer Restore
18preset-plan-overlayUIOeffnen, Schliessen, Zuruecknavigation und Auswahl von Standardplaenen

Die Tests decken Syntax, Datenintegritaet, alle Daily-Quest-Abschlussarten, Backup-Restores, UI-Konsistenz und PWA-Infrastruktur ab.


Technologien und Sicherheit

  • Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+).
  • Datenbank: Supabase (PostgreSQL) fuer Cloud-Synchronisation + IndexedDB fuer lokale Performance.
  • PWA: Offline-Funktionalitaet durch Service Worker und Web App Manifest.
  • Visualisierung: Chart.js fuer dynamische Diagramme.
  • Cloud-Sync: Automatische Synchronisation aller Daten ueber Supabase. Cross-Device-Zugriff mit E-Mail-Account oder anonymes Tracking.
  • Datenschutz: Daten werden sicher in der Cloud gespeichert. RLS (Row Level Security) stellt sicher, dass nur der jeweilige User seine eigenen Daten sehen kann.

Installation

  1. Öffne die App im Browser.
  2. Wähle im Browser-Menü "Zum Startbildschirm hinzufügen".
  3. Nutze DailyQuest als native App auf deinem Gerät.

Changelog

Die vollständige Historie der Änderungen findest du in der CHANGELOG.md.


DailyQuest - Wo jeder Tag ein Abenteuer ist!

About

Sport Tracker angelehnt auf den Anime Solo Leveling, tägliche Übungen, Gamified und personalisierbar.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

223 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DailyQuest

Verwandle dein tägliches Training in ein episches Rollenspiel. Steige im Level auf, sammle Ausrüstung und werde zur besten Version deiner selbst.

Daily Quests Overview

Über das Projekt

DailyQuest ist eine Progressive Web App (PWA), die darauf abzielt, die Motivation für Sport und produktive Gewohnheiten durch konsequente Gamification zu steigern. Das Projekt wurde im Rahmen von Jugend forscht 2026 entwickelt und kombiniert moderne Webtechnologien mit psychologischen Motivationsmodellen.

Die Kernidee basiert auf dem "System"-Konzept aus dem Webtoon Solo Leveling: Alltägliche Aufgaben werden in Quests verwandelt, die Erfahrungspunkte (Mana), Gold und Charakterfortschritt bringen.

DailyQuest V2

DailyQuest 2 wird als neue Version mit modernisiertem Dashboard, Admin-Bereich und Convex-Datenbank vorbereitet. Die bestehende Open-Source-Version bleibt weiterhin nutzbar und behaelt Supabase-Sync fuer bestehende Nutzer bei.


Kernfunktionen

Gameplay-Mechanik

FeatureBeschreibung
Level-SystemJede Aufgabe gibt Mana (XP). Steige auf und verbessere deine Werte.
Tägliche QuestsAutomatisch generierte Aufgaben, angepasst an deine Ziele und Schwierigkeit.
StrafsystemVerpasste Quests haben Konsequenzen für Level und Stats - Disziplin wird belohnt.
Streak-SystemTägliche Nutzung wird getrackt. Streak Freezes retten deine Serie in Notfällen.
Extra-QuestsTägliche Herausforderungen mit hohem Risiko und hohen Belohnungen.

Charakter-System

Character Page
  • Dynamische Stats: Kraft, Ausdauer, Beweglichkeit, Durchhaltevermögen, Willenskraft.
  • Player-Labels: Über 20 personalisierte Titel basierend auf deinen individuellen Stärken.
  • Ausrüstung: Erwerbe Waffen und Rüstungen im Shop, um Boni für Kämpfe zu erhalten.
  • Fortschrittsvisualisierung: Radar-Diagramme für Stats und Linien-Diagramme für Gewichtsverlauf.

Training und Übungen

Über 50 Übungen sind für das Home-Gym und Eigengewichtstraining optimiert:

KategorieBeispiele
KraftBicep Curls, Deadlifts, Pistol Squats
AusdauerBurpees, Joggen, Hula Hoop
FettverbrennungMountain Climbers, Shadowboxing
KörpergewichtPush-ups, Plank, Hollow Body Hold
FokusLernen, Sprachen, Coding (Timer-basiert)
ErholungSpaziergänge, Dehnen, Lesen

Fokus-Modul

Focus Timer
  • Pomodoro-Timer und Stoppuhr für produktive Phasen.
  • Kategorien-System zur Einordnung der Sessions.
  • Belohnungen für abgeschlossene Fokus-Zeit zur Steigerung der Konzentration.

Dungeons und Kampf

Mit einer Wahrscheinlichkeit von 5% erscheint beim App-Start ein Dungeon:

  • Monster-Typen: Schattenwolf, Höhlenbär, Morast-Zombie mit skalierender Stärke.
  • Aktives Kampfsystem: Besiege Gegner durch das Absolvieren realer physischer Übungen.
  • Strategie: Nutze Ausrüstungs-Boni und verwalte deine persistenten HP.

Dokumentation

Detaillierte Informationen zur Architektur, zum Design und zur Theorie hinter DailyQuest findest du hier:


Tests

Das Projekt enthaelt eine Test-Suite mit 18 spezialisierten Modultests. Alle Tests werden mit Node.js ausgefuehrt:

node tests/run.js
#TestBereichBeschreibung
01syntaxSyntaxPrueft jede .js-Datei im Projekt auf syntaktische Korrektheit
02data-structureDatenValidiert Exercises, Achievements, Dungeons, Translations auf Vollstaendigkeit
03translationsLokalisierungStellt sicher, dass alle DE/EN-Keys paarweise existieren und konsistent sind
04pure-functionsLogikUnit-Tests fuer ageBand, difficulty-Multiplikator, scaleReps, formatDuration etc.
05settingsKonfigurationDefault-Werte, Typen, Validierung der User-Settings
06html-idsDOMPrueft, dass alle getElementById-Aufrufe in JS ein HTML-Gegenstueck haben
07css-themesStylingStellt sicher, dass alle CSS-Variablen in Dark, Light und OLED definiert sind
08training-plansDatenValidiert Trainingsplaene, Slots, Stages und Goal-Aliases
09service-workerPWACache-Name, Precache-URLs auf Existenz, Manifest-Validierung
10streak-penaltySpiellogikStreak-Berechnung, Penalty-Reset, Level-Up-Progression, Stat-Gains
11onboarding-equipmentEinrichtungOnboarding-Daten und Equipment-Auswahl
12endurance-no-logSpiellogikDirekter Abschluss von Ausdauer-Quests ohne Pflichtprotokoll
13update-safetyMigrationSchutz bestehender Plaene und Daten bei Updates
14exercise-completion-flowSpiellogikPersistenz, Belohnungen und Character-Aktualisierung beim Abschluss
15ai-plan-importDatenValidierung und Normalisierung importierter KI-JSON-Plaene
16daily-quest-completion-flowSpiellogikFunktionale Abschlussmatrix fuer Tap-, Fokus-, Ausdauer-, Satz- und Timer-Quests
17backup-restoreDatenLegacy-Import, Streak-Fortsetzung, Extra-Quest-Bereinigung und atomarer Restore
18preset-plan-overlayUIOeffnen, Schliessen, Zuruecknavigation und Auswahl von Standardplaenen

Die Tests decken Syntax, Datenintegritaet, alle Daily-Quest-Abschlussarten, Backup-Restores, UI-Konsistenz und PWA-Infrastruktur ab.


Technologien und Sicherheit

  • Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+).
  • Datenbank: Supabase (PostgreSQL) fuer Cloud-Synchronisation + IndexedDB fuer lokale Performance.
  • PWA: Offline-Funktionalitaet durch Service Worker und Web App Manifest.
  • Visualisierung: Chart.js fuer dynamische Diagramme.
  • Cloud-Sync: Automatische Synchronisation aller Daten ueber Supabase. Cross-Device-Zugriff mit E-Mail-Account oder anonymes Tracking.
  • Datenschutz: Daten werden sicher in der Cloud gespeichert. RLS (Row Level Security) stellt sicher, dass nur der jeweilige User seine eigenen Daten sehen kann.

Installation

  1. Öffne die App im Browser.
  2. Wähle im Browser-Menü "Zum Startbildschirm hinzufügen".
  3. Nutze DailyQuest als native App auf deinem Gerät.

Changelog

Die vollständige Historie der Änderungen findest du in der CHANGELOG.md.


DailyQuest - Wo jeder Tag ein Abenteuer ist!

About

Sport Tracker angelehnt auf den Anime Solo Leveling, tägliche Übungen, Gamified und personalisierbar.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

223 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DailyQuest

Verwandle dein tägliches Training in ein episches Rollenspiel. Steige im Level auf, sammle Ausrüstung und werde zur besten Version deiner selbst.

Daily Quests Overview

Über das Projekt

DailyQuest ist eine Progressive Web App (PWA), die darauf abzielt, die Motivation für Sport und produktive Gewohnheiten durch konsequente Gamification zu steigern. Das Projekt wurde im Rahmen von Jugend forscht 2026 entwickelt und kombiniert moderne Webtechnologien mit psychologischen Motivationsmodellen.

Die Kernidee basiert auf dem "System"-Konzept aus dem Webtoon Solo Leveling: Alltägliche Aufgaben werden in Quests verwandelt, die Erfahrungspunkte (Mana), Gold und Charakterfortschritt bringen.

DailyQuest V2

DailyQuest 2 wird als neue Version mit modernisiertem Dashboard, Admin-Bereich und Convex-Datenbank vorbereitet. Die bestehende Open-Source-Version bleibt weiterhin nutzbar und behaelt Supabase-Sync fuer bestehende Nutzer bei.


Kernfunktionen

Gameplay-Mechanik

FeatureBeschreibung
Level-SystemJede Aufgabe gibt Mana (XP). Steige auf und verbessere deine Werte.
Tägliche QuestsAutomatisch generierte Aufgaben, angepasst an deine Ziele und Schwierigkeit.
StrafsystemVerpasste Quests haben Konsequenzen für Level und Stats - Disziplin wird belohnt.
Streak-SystemTägliche Nutzung wird getrackt. Streak Freezes retten deine Serie in Notfällen.
Extra-QuestsTägliche Herausforderungen mit hohem Risiko und hohen Belohnungen.

Charakter-System

Character Page
  • Dynamische Stats: Kraft, Ausdauer, Beweglichkeit, Durchhaltevermögen, Willenskraft.
  • Player-Labels: Über 20 personalisierte Titel basierend auf deinen individuellen Stärken.
  • Ausrüstung: Erwerbe Waffen und Rüstungen im Shop, um Boni für Kämpfe zu erhalten.
  • Fortschrittsvisualisierung: Radar-Diagramme für Stats und Linien-Diagramme für Gewichtsverlauf.

Training und Übungen

Über 50 Übungen sind für das Home-Gym und Eigengewichtstraining optimiert:

KategorieBeispiele
KraftBicep Curls, Deadlifts, Pistol Squats
AusdauerBurpees, Joggen, Hula Hoop
FettverbrennungMountain Climbers, Shadowboxing
KörpergewichtPush-ups, Plank, Hollow Body Hold
FokusLernen, Sprachen, Coding (Timer-basiert)
ErholungSpaziergänge, Dehnen, Lesen

Fokus-Modul

Focus Timer
  • Pomodoro-Timer und Stoppuhr für produktive Phasen.
  • Kategorien-System zur Einordnung der Sessions.
  • Belohnungen für abgeschlossene Fokus-Zeit zur Steigerung der Konzentration.

Dungeons und Kampf

Mit einer Wahrscheinlichkeit von 5% erscheint beim App-Start ein Dungeon:

  • Monster-Typen: Schattenwolf, Höhlenbär, Morast-Zombie mit skalierender Stärke.
  • Aktives Kampfsystem: Besiege Gegner durch das Absolvieren realer physischer Übungen.
  • Strategie: Nutze Ausrüstungs-Boni und verwalte deine persistenten HP.

Dokumentation

Detaillierte Informationen zur Architektur, zum Design und zur Theorie hinter DailyQuest findest du hier:


Tests

Das Projekt enthaelt eine Test-Suite mit 18 spezialisierten Modultests. Alle Tests werden mit Node.js ausgefuehrt:

node tests/run.js
#TestBereichBeschreibung
01syntaxSyntaxPrueft jede .js-Datei im Projekt auf syntaktische Korrektheit
02data-structureDatenValidiert Exercises, Achievements, Dungeons, Translations auf Vollstaendigkeit
03translationsLokalisierungStellt sicher, dass alle DE/EN-Keys paarweise existieren und konsistent sind
04pure-functionsLogikUnit-Tests fuer ageBand, difficulty-Multiplikator, scaleReps, formatDuration etc.
05settingsKonfigurationDefault-Werte, Typen, Validierung der User-Settings
06html-idsDOMPrueft, dass alle getElementById-Aufrufe in JS ein HTML-Gegenstueck haben
07css-themesStylingStellt sicher, dass alle CSS-Variablen in Dark, Light und OLED definiert sind
08training-plansDatenValidiert Trainingsplaene, Slots, Stages und Goal-Aliases
09service-workerPWACache-Name, Precache-URLs auf Existenz, Manifest-Validierung
10streak-penaltySpiellogikStreak-Berechnung, Penalty-Reset, Level-Up-Progression, Stat-Gains
11onboarding-equipmentEinrichtungOnboarding-Daten und Equipment-Auswahl
12endurance-no-logSpiellogikDirekter Abschluss von Ausdauer-Quests ohne Pflichtprotokoll
13update-safetyMigrationSchutz bestehender Plaene und Daten bei Updates
14exercise-completion-flowSpiellogikPersistenz, Belohnungen und Character-Aktualisierung beim Abschluss
15ai-plan-importDatenValidierung und Normalisierung importierter KI-JSON-Plaene
16daily-quest-completion-flowSpiellogikFunktionale Abschlussmatrix fuer Tap-, Fokus-, Ausdauer-, Satz- und Timer-Quests
17backup-restoreDatenLegacy-Import, Streak-Fortsetzung, Extra-Quest-Bereinigung und atomarer Restore
18preset-plan-overlayUIOeffnen, Schliessen, Zuruecknavigation und Auswahl von Standardplaenen

Die Tests decken Syntax, Datenintegritaet, alle Daily-Quest-Abschlussarten, Backup-Restores, UI-Konsistenz und PWA-Infrastruktur ab.


Technologien und Sicherheit

  • Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+).
  • Datenbank: Supabase (PostgreSQL) fuer Cloud-Synchronisation + IndexedDB fuer lokale Performance.
  • PWA: Offline-Funktionalitaet durch Service Worker und Web App Manifest.
  • Visualisierung: Chart.js fuer dynamische Diagramme.
  • Cloud-Sync: Automatische Synchronisation aller Daten ueber Supabase. Cross-Device-Zugriff mit E-Mail-Account oder anonymes Tracking.
  • Datenschutz: Daten werden sicher in der Cloud gespeichert. RLS (Row Level Security) stellt sicher, dass nur der jeweilige User seine eigenen Daten sehen kann.

Installation

  1. Öffne die App im Browser.
  2. Wähle im Browser-Menü "Zum Startbildschirm hinzufügen".
  3. Nutze DailyQuest als native App auf deinem Gerät.

Changelog

Die vollständige Historie der Änderungen findest du in der CHANGELOG.md.


DailyQuest - Wo jeder Tag ein Abenteuer ist!

About

Sport Tracker angelehnt auf den Anime Solo Leveling, tägliche Übungen, Gamified und personalisierbar.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

223 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DailyQuest

Verwandle dein tägliches Training in ein episches Rollenspiel. Steige im Level auf, sammle Ausrüstung und werde zur besten Version deiner selbst.

Daily Quests Overview

Über das Projekt

DailyQuest ist eine Progressive Web App (PWA), die darauf abzielt, die Motivation für Sport und produktive Gewohnheiten durch konsequente Gamification zu steigern. Das Projekt wurde im Rahmen von Jugend forscht 2026 entwickelt und kombiniert moderne Webtechnologien mit psychologischen Motivationsmodellen.

Die Kernidee basiert auf dem "System"-Konzept aus dem Webtoon Solo Leveling: Alltägliche Aufgaben werden in Quests verwandelt, die Erfahrungspunkte (Mana), Gold und Charakterfortschritt bringen.

DailyQuest V2

DailyQuest 2 wird als neue Version mit modernisiertem Dashboard, Admin-Bereich und Convex-Datenbank vorbereitet. Die bestehende Open-Source-Version bleibt weiterhin nutzbar und behaelt Supabase-Sync fuer bestehende Nutzer bei.


Kernfunktionen

Gameplay-Mechanik

FeatureBeschreibung
Level-SystemJede Aufgabe gibt Mana (XP). Steige auf und verbessere deine Werte.
Tägliche QuestsAutomatisch generierte Aufgaben, angepasst an deine Ziele und Schwierigkeit.
StrafsystemVerpasste Quests haben Konsequenzen für Level und Stats - Disziplin wird belohnt.
Streak-SystemTägliche Nutzung wird getrackt. Streak Freezes retten deine Serie in Notfällen.
Extra-QuestsTägliche Herausforderungen mit hohem Risiko und hohen Belohnungen.

Charakter-System

Character Page
  • Dynamische Stats: Kraft, Ausdauer, Beweglichkeit, Durchhaltevermögen, Willenskraft.
  • Player-Labels: Über 20 personalisierte Titel basierend auf deinen individuellen Stärken.
  • Ausrüstung: Erwerbe Waffen und Rüstungen im Shop, um Boni für Kämpfe zu erhalten.
  • Fortschrittsvisualisierung: Radar-Diagramme für Stats und Linien-Diagramme für Gewichtsverlauf.

Training und Übungen

Über 50 Übungen sind für das Home-Gym und Eigengewichtstraining optimiert:

KategorieBeispiele
KraftBicep Curls, Deadlifts, Pistol Squats
AusdauerBurpees, Joggen, Hula Hoop
FettverbrennungMountain Climbers, Shadowboxing
KörpergewichtPush-ups, Plank, Hollow Body Hold
FokusLernen, Sprachen, Coding (Timer-basiert)
ErholungSpaziergänge, Dehnen, Lesen

Fokus-Modul

Focus Timer
  • Pomodoro-Timer und Stoppuhr für produktive Phasen.
  • Kategorien-System zur Einordnung der Sessions.
  • Belohnungen für abgeschlossene Fokus-Zeit zur Steigerung der Konzentration.

Dungeons und Kampf

Mit einer Wahrscheinlichkeit von 5% erscheint beim App-Start ein Dungeon:

  • Monster-Typen: Schattenwolf, Höhlenbär, Morast-Zombie mit skalierender Stärke.
  • Aktives Kampfsystem: Besiege Gegner durch das Absolvieren realer physischer Übungen.
  • Strategie: Nutze Ausrüstungs-Boni und verwalte deine persistenten HP.

Dokumentation

Detaillierte Informationen zur Architektur, zum Design und zur Theorie hinter DailyQuest findest du hier:


Tests

Das Projekt enthaelt eine Test-Suite mit 18 spezialisierten Modultests. Alle Tests werden mit Node.js ausgefuehrt:

node tests/run.js
#TestBereichBeschreibung
01syntaxSyntaxPrueft jede .js-Datei im Projekt auf syntaktische Korrektheit
02data-structureDatenValidiert Exercises, Achievements, Dungeons, Translations auf Vollstaendigkeit
03translationsLokalisierungStellt sicher, dass alle DE/EN-Keys paarweise existieren und konsistent sind
04pure-functionsLogikUnit-Tests fuer ageBand, difficulty-Multiplikator, scaleReps, formatDuration etc.
05settingsKonfigurationDefault-Werte, Typen, Validierung der User-Settings
06html-idsDOMPrueft, dass alle getElementById-Aufrufe in JS ein HTML-Gegenstueck haben
07css-themesStylingStellt sicher, dass alle CSS-Variablen in Dark, Light und OLED definiert sind
08training-plansDatenValidiert Trainingsplaene, Slots, Stages und Goal-Aliases
09service-workerPWACache-Name, Precache-URLs auf Existenz, Manifest-Validierung
10streak-penaltySpiellogikStreak-Berechnung, Penalty-Reset, Level-Up-Progression, Stat-Gains
11onboarding-equipmentEinrichtungOnboarding-Daten und Equipment-Auswahl
12endurance-no-logSpiellogikDirekter Abschluss von Ausdauer-Quests ohne Pflichtprotokoll
13update-safetyMigrationSchutz bestehender Plaene und Daten bei Updates
14exercise-completion-flowSpiellogikPersistenz, Belohnungen und Character-Aktualisierung beim Abschluss
15ai-plan-importDatenValidierung und Normalisierung importierter KI-JSON-Plaene
16daily-quest-completion-flowSpiellogikFunktionale Abschlussmatrix fuer Tap-, Fokus-, Ausdauer-, Satz- und Timer-Quests
17backup-restoreDatenLegacy-Import, Streak-Fortsetzung, Extra-Quest-Bereinigung und atomarer Restore
18preset-plan-overlayUIOeffnen, Schliessen, Zuruecknavigation und Auswahl von Standardplaenen

Die Tests decken Syntax, Datenintegritaet, alle Daily-Quest-Abschlussarten, Backup-Restores, UI-Konsistenz und PWA-Infrastruktur ab.


Technologien und Sicherheit

  • Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+).
  • Datenbank: Supabase (PostgreSQL) fuer Cloud-Synchronisation + IndexedDB fuer lokale Performance.
  • PWA: Offline-Funktionalitaet durch Service Worker und Web App Manifest.
  • Visualisierung: Chart.js fuer dynamische Diagramme.
  • Cloud-Sync: Automatische Synchronisation aller Daten ueber Supabase. Cross-Device-Zugriff mit E-Mail-Account oder anonymes Tracking.
  • Datenschutz: Daten werden sicher in der Cloud gespeichert. RLS (Row Level Security) stellt sicher, dass nur der jeweilige User seine eigenen Daten sehen kann.

Installation

  1. Öffne die App im Browser.
  2. Wähle im Browser-Menü "Zum Startbildschirm hinzufügen".
  3. Nutze DailyQuest als native App auf deinem Gerät.

Changelog

Die vollständige Historie der Änderungen findest du in der CHANGELOG.md.


DailyQuest - Wo jeder Tag ein Abenteuer ist!

About

Sport Tracker angelehnt auf den Anime Solo Leveling, tägliche Übungen, Gamified und personalisierbar.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

223 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DailyQuest

Verwandle dein tägliches Training in ein episches Rollenspiel. Steige im Level auf, sammle Ausrüstung und werde zur besten Version deiner selbst.

Daily Quests Overview

Über das Projekt

DailyQuest ist eine Progressive Web App (PWA), die darauf abzielt, die Motivation für Sport und produktive Gewohnheiten durch konsequente Gamification zu steigern. Das Projekt wurde im Rahmen von Jugend forscht 2026 entwickelt und kombiniert moderne Webtechnologien mit psychologischen Motivationsmodellen.

Die Kernidee basiert auf dem "System"-Konzept aus dem Webtoon Solo Leveling: Alltägliche Aufgaben werden in Quests verwandelt, die Erfahrungspunkte (Mana), Gold und Charakterfortschritt bringen.

DailyQuest V2

DailyQuest 2 wird als neue Version mit modernisiertem Dashboard, Admin-Bereich und Convex-Datenbank vorbereitet. Die bestehende Open-Source-Version bleibt weiterhin nutzbar und behaelt Supabase-Sync fuer bestehende Nutzer bei.


Kernfunktionen

Gameplay-Mechanik

FeatureBeschreibung
Level-SystemJede Aufgabe gibt Mana (XP). Steige auf und verbessere deine Werte.
Tägliche QuestsAutomatisch generierte Aufgaben, angepasst an deine Ziele und Schwierigkeit.
StrafsystemVerpasste Quests haben Konsequenzen für Level und Stats - Disziplin wird belohnt.
Streak-SystemTägliche Nutzung wird getrackt. Streak Freezes retten deine Serie in Notfällen.
Extra-QuestsTägliche Herausforderungen mit hohem Risiko und hohen Belohnungen.

Charakter-System

Character Page
  • Dynamische Stats: Kraft, Ausdauer, Beweglichkeit, Durchhaltevermögen, Willenskraft.
  • Player-Labels: Über 20 personalisierte Titel basierend auf deinen individuellen Stärken.
  • Ausrüstung: Erwerbe Waffen und Rüstungen im Shop, um Boni für Kämpfe zu erhalten.
  • Fortschrittsvisualisierung: Radar-Diagramme für Stats und Linien-Diagramme für Gewichtsverlauf.

Training und Übungen

Über 50 Übungen sind für das Home-Gym und Eigengewichtstraining optimiert:

KategorieBeispiele
KraftBicep Curls, Deadlifts, Pistol Squats
AusdauerBurpees, Joggen, Hula Hoop
FettverbrennungMountain Climbers, Shadowboxing
KörpergewichtPush-ups, Plank, Hollow Body Hold
FokusLernen, Sprachen, Coding (Timer-basiert)
ErholungSpaziergänge, Dehnen, Lesen

Fokus-Modul

Focus Timer
  • Pomodoro-Timer und Stoppuhr für produktive Phasen.
  • Kategorien-System zur Einordnung der Sessions.
  • Belohnungen für abgeschlossene Fokus-Zeit zur Steigerung der Konzentration.

Dungeons und Kampf

Mit einer Wahrscheinlichkeit von 5% erscheint beim App-Start ein Dungeon:

  • Monster-Typen: Schattenwolf, Höhlenbär, Morast-Zombie mit skalierender Stärke.
  • Aktives Kampfsystem: Besiege Gegner durch das Absolvieren realer physischer Übungen.
  • Strategie: Nutze Ausrüstungs-Boni und verwalte deine persistenten HP.

Dokumentation

Detaillierte Informationen zur Architektur, zum Design und zur Theorie hinter DailyQuest findest du hier:


Tests

Das Projekt enthaelt eine Test-Suite mit 18 spezialisierten Modultests. Alle Tests werden mit Node.js ausgefuehrt:

node tests/run.js
#TestBereichBeschreibung
01syntaxSyntaxPrueft jede .js-Datei im Projekt auf syntaktische Korrektheit
02data-structureDatenValidiert Exercises, Achievements, Dungeons, Translations auf Vollstaendigkeit
03translationsLokalisierungStellt sicher, dass alle DE/EN-Keys paarweise existieren und konsistent sind
04pure-functionsLogikUnit-Tests fuer ageBand, difficulty-Multiplikator, scaleReps, formatDuration etc.
05settingsKonfigurationDefault-Werte, Typen, Validierung der User-Settings
06html-idsDOMPrueft, dass alle getElementById-Aufrufe in JS ein HTML-Gegenstueck haben
07css-themesStylingStellt sicher, dass alle CSS-Variablen in Dark, Light und OLED definiert sind
08training-plansDatenValidiert Trainingsplaene, Slots, Stages und Goal-Aliases
09service-workerPWACache-Name, Precache-URLs auf Existenz, Manifest-Validierung
10streak-penaltySpiellogikStreak-Berechnung, Penalty-Reset, Level-Up-Progression, Stat-Gains
11onboarding-equipmentEinrichtungOnboarding-Daten und Equipment-Auswahl
12endurance-no-logSpiellogikDirekter Abschluss von Ausdauer-Quests ohne Pflichtprotokoll
13update-safetyMigrationSchutz bestehender Plaene und Daten bei Updates
14exercise-completion-flowSpiellogikPersistenz, Belohnungen und Character-Aktualisierung beim Abschluss
15ai-plan-importDatenValidierung und Normalisierung importierter KI-JSON-Plaene
16daily-quest-completion-flowSpiellogikFunktionale Abschlussmatrix fuer Tap-, Fokus-, Ausdauer-, Satz- und Timer-Quests
17backup-restoreDatenLegacy-Import, Streak-Fortsetzung, Extra-Quest-Bereinigung und atomarer Restore
18preset-plan-overlayUIOeffnen, Schliessen, Zuruecknavigation und Auswahl von Standardplaenen

Die Tests decken Syntax, Datenintegritaet, alle Daily-Quest-Abschlussarten, Backup-Restores, UI-Konsistenz und PWA-Infrastruktur ab.


Technologien und Sicherheit

  • Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+).
  • Datenbank: Supabase (PostgreSQL) fuer Cloud-Synchronisation + IndexedDB fuer lokale Performance.
  • PWA: Offline-Funktionalitaet durch Service Worker und Web App Manifest.
  • Visualisierung: Chart.js fuer dynamische Diagramme.
  • Cloud-Sync: Automatische Synchronisation aller Daten ueber Supabase. Cross-Device-Zugriff mit E-Mail-Account oder anonymes Tracking.
  • Datenschutz: Daten werden sicher in der Cloud gespeichert. RLS (Row Level Security) stellt sicher, dass nur der jeweilige User seine eigenen Daten sehen kann.

Installation

  1. Öffne die App im Browser.
  2. Wähle im Browser-Menü "Zum Startbildschirm hinzufügen".
  3. Nutze DailyQuest als native App auf deinem Gerät.

Changelog

Die vollständige Historie der Änderungen findest du in der CHANGELOG.md.


DailyQuest - Wo jeder Tag ein Abenteuer ist!

About

Sport Tracker angelehnt auf den Anime Solo Leveling, tägliche Übungen, Gamified und personalisierbar.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

223 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DailyQuest

Verwandle dein tägliches Training in ein episches Rollenspiel. Steige im Level auf, sammle Ausrüstung und werde zur besten Version deiner selbst.

Daily Quests Overview

Über das Projekt

DailyQuest ist eine Progressive Web App (PWA), die darauf abzielt, die Motivation für Sport und produktive Gewohnheiten durch konsequente Gamification zu steigern. Das Projekt wurde im Rahmen von Jugend forscht 2026 entwickelt und kombiniert moderne Webtechnologien mit psychologischen Motivationsmodellen.

Die Kernidee basiert auf dem "System"-Konzept aus dem Webtoon Solo Leveling: Alltägliche Aufgaben werden in Quests verwandelt, die Erfahrungspunkte (Mana), Gold und Charakterfortschritt bringen.

DailyQuest V2

DailyQuest 2 wird als neue Version mit modernisiertem Dashboard, Admin-Bereich und Convex-Datenbank vorbereitet. Die bestehende Open-Source-Version bleibt weiterhin nutzbar und behaelt Supabase-Sync fuer bestehende Nutzer bei.


Kernfunktionen

Gameplay-Mechanik

FeatureBeschreibung
Level-SystemJede Aufgabe gibt Mana (XP). Steige auf und verbessere deine Werte.
Tägliche QuestsAutomatisch generierte Aufgaben, angepasst an deine Ziele und Schwierigkeit.
StrafsystemVerpasste Quests haben Konsequenzen für Level und Stats - Disziplin wird belohnt.
Streak-SystemTägliche Nutzung wird getrackt. Streak Freezes retten deine Serie in Notfällen.
Extra-QuestsTägliche Herausforderungen mit hohem Risiko und hohen Belohnungen.

Charakter-System

Character Page
  • Dynamische Stats: Kraft, Ausdauer, Beweglichkeit, Durchhaltevermögen, Willenskraft.
  • Player-Labels: Über 20 personalisierte Titel basierend auf deinen individuellen Stärken.
  • Ausrüstung: Erwerbe Waffen und Rüstungen im Shop, um Boni für Kämpfe zu erhalten.
  • Fortschrittsvisualisierung: Radar-Diagramme für Stats und Linien-Diagramme für Gewichtsverlauf.

Training und Übungen

Über 50 Übungen sind für das Home-Gym und Eigengewichtstraining optimiert:

KategorieBeispiele
KraftBicep Curls, Deadlifts, Pistol Squats
AusdauerBurpees, Joggen, Hula Hoop
FettverbrennungMountain Climbers, Shadowboxing
KörpergewichtPush-ups, Plank, Hollow Body Hold
FokusLernen, Sprachen, Coding (Timer-basiert)
ErholungSpaziergänge, Dehnen, Lesen

Fokus-Modul

Focus Timer
  • Pomodoro-Timer und Stoppuhr für produktive Phasen.
  • Kategorien-System zur Einordnung der Sessions.
  • Belohnungen für abgeschlossene Fokus-Zeit zur Steigerung der Konzentration.

Dungeons und Kampf

Mit einer Wahrscheinlichkeit von 5% erscheint beim App-Start ein Dungeon:

  • Monster-Typen: Schattenwolf, Höhlenbär, Morast-Zombie mit skalierender Stärke.
  • Aktives Kampfsystem: Besiege Gegner durch das Absolvieren realer physischer Übungen.
  • Strategie: Nutze Ausrüstungs-Boni und verwalte deine persistenten HP.

Dokumentation

Detaillierte Informationen zur Architektur, zum Design und zur Theorie hinter DailyQuest findest du hier:


Tests

Das Projekt enthaelt eine Test-Suite mit 18 spezialisierten Modultests. Alle Tests werden mit Node.js ausgefuehrt:

node tests/run.js
#TestBereichBeschreibung
01syntaxSyntaxPrueft jede .js-Datei im Projekt auf syntaktische Korrektheit
02data-structureDatenValidiert Exercises, Achievements, Dungeons, Translations auf Vollstaendigkeit
03translationsLokalisierungStellt sicher, dass alle DE/EN-Keys paarweise existieren und konsistent sind
04pure-functionsLogikUnit-Tests fuer ageBand, difficulty-Multiplikator, scaleReps, formatDuration etc.
05settingsKonfigurationDefault-Werte, Typen, Validierung der User-Settings
06html-idsDOMPrueft, dass alle getElementById-Aufrufe in JS ein HTML-Gegenstueck haben
07css-themesStylingStellt sicher, dass alle CSS-Variablen in Dark, Light und OLED definiert sind
08training-plansDatenValidiert Trainingsplaene, Slots, Stages und Goal-Aliases
09service-workerPWACache-Name, Precache-URLs auf Existenz, Manifest-Validierung
10streak-penaltySpiellogikStreak-Berechnung, Penalty-Reset, Level-Up-Progression, Stat-Gains
11onboarding-equipmentEinrichtungOnboarding-Daten und Equipment-Auswahl
12endurance-no-logSpiellogikDirekter Abschluss von Ausdauer-Quests ohne Pflichtprotokoll
13update-safetyMigrationSchutz bestehender Plaene und Daten bei Updates
14exercise-completion-flowSpiellogikPersistenz, Belohnungen und Character-Aktualisierung beim Abschluss
15ai-plan-importDatenValidierung und Normalisierung importierter KI-JSON-Plaene
16daily-quest-completion-flowSpiellogikFunktionale Abschlussmatrix fuer Tap-, Fokus-, Ausdauer-, Satz- und Timer-Quests
17backup-restoreDatenLegacy-Import, Streak-Fortsetzung, Extra-Quest-Bereinigung und atomarer Restore
18preset-plan-overlayUIOeffnen, Schliessen, Zuruecknavigation und Auswahl von Standardplaenen

Die Tests decken Syntax, Datenintegritaet, alle Daily-Quest-Abschlussarten, Backup-Restores, UI-Konsistenz und PWA-Infrastruktur ab.


Technologien und Sicherheit

  • Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+).
  • Datenbank: Supabase (PostgreSQL) fuer Cloud-Synchronisation + IndexedDB fuer lokale Performance.
  • PWA: Offline-Funktionalitaet durch Service Worker und Web App Manifest.
  • Visualisierung: Chart.js fuer dynamische Diagramme.
  • Cloud-Sync: Automatische Synchronisation aller Daten ueber Supabase. Cross-Device-Zugriff mit E-Mail-Account oder anonymes Tracking.
  • Datenschutz: Daten werden sicher in der Cloud gespeichert. RLS (Row Level Security) stellt sicher, dass nur der jeweilige User seine eigenen Daten sehen kann.

Installation

  1. Öffne die App im Browser.
  2. Wähle im Browser-Menü "Zum Startbildschirm hinzufügen".
  3. Nutze DailyQuest als native App auf deinem Gerät.

Changelog

Die vollständige Historie der Änderungen findest du in der CHANGELOG.md.


DailyQuest - Wo jeder Tag ein Abenteuer ist!

About

Sport Tracker angelehnt auf den Anime Solo Leveling, tägliche Übungen, Gamified und personalisierbar.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

223 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DailyQuest

Verwandle dein tägliches Training in ein episches Rollenspiel. Steige im Level auf, sammle Ausrüstung und werde zur besten Version deiner selbst.

Daily Quests Overview

Über das Projekt

DailyQuest ist eine Progressive Web App (PWA), die darauf abzielt, die Motivation für Sport und produktive Gewohnheiten durch konsequente Gamification zu steigern. Das Projekt wurde im Rahmen von Jugend forscht 2026 entwickelt und kombiniert moderne Webtechnologien mit psychologischen Motivationsmodellen.

Die Kernidee basiert auf dem "System"-Konzept aus dem Webtoon Solo Leveling: Alltägliche Aufgaben werden in Quests verwandelt, die Erfahrungspunkte (Mana), Gold und Charakterfortschritt bringen.

DailyQuest V2

DailyQuest 2 wird als neue Version mit modernisiertem Dashboard, Admin-Bereich und Convex-Datenbank vorbereitet. Die bestehende Open-Source-Version bleibt weiterhin nutzbar und behaelt Supabase-Sync fuer bestehende Nutzer bei.


Kernfunktionen

Gameplay-Mechanik

FeatureBeschreibung
Level-SystemJede Aufgabe gibt Mana (XP). Steige auf und verbessere deine Werte.
Tägliche QuestsAutomatisch generierte Aufgaben, angepasst an deine Ziele und Schwierigkeit.
StrafsystemVerpasste Quests haben Konsequenzen für Level und Stats - Disziplin wird belohnt.
Streak-SystemTägliche Nutzung wird getrackt. Streak Freezes retten deine Serie in Notfällen.
Extra-QuestsTägliche Herausforderungen mit hohem Risiko und hohen Belohnungen.

Charakter-System

Character Page
  • Dynamische Stats: Kraft, Ausdauer, Beweglichkeit, Durchhaltevermögen, Willenskraft.
  • Player-Labels: Über 20 personalisierte Titel basierend auf deinen individuellen Stärken.
  • Ausrüstung: Erwerbe Waffen und Rüstungen im Shop, um Boni für Kämpfe zu erhalten.
  • Fortschrittsvisualisierung: Radar-Diagramme für Stats und Linien-Diagramme für Gewichtsverlauf.

Training und Übungen

Über 50 Übungen sind für das Home-Gym und Eigengewichtstraining optimiert:

KategorieBeispiele
KraftBicep Curls, Deadlifts, Pistol Squats
AusdauerBurpees, Joggen, Hula Hoop
FettverbrennungMountain Climbers, Shadowboxing
KörpergewichtPush-ups, Plank, Hollow Body Hold
FokusLernen, Sprachen, Coding (Timer-basiert)
ErholungSpaziergänge, Dehnen, Lesen

Fokus-Modul

Focus Timer
  • Pomodoro-Timer und Stoppuhr für produktive Phasen.
  • Kategorien-System zur Einordnung der Sessions.
  • Belohnungen für abgeschlossene Fokus-Zeit zur Steigerung der Konzentration.

Dungeons und Kampf

Mit einer Wahrscheinlichkeit von 5% erscheint beim App-Start ein Dungeon:

  • Monster-Typen: Schattenwolf, Höhlenbär, Morast-Zombie mit skalierender Stärke.
  • Aktives Kampfsystem: Besiege Gegner durch das Absolvieren realer physischer Übungen.
  • Strategie: Nutze Ausrüstungs-Boni und verwalte deine persistenten HP.

Dokumentation

Detaillierte Informationen zur Architektur, zum Design und zur Theorie hinter DailyQuest findest du hier:


Tests

Das Projekt enthaelt eine Test-Suite mit 18 spezialisierten Modultests. Alle Tests werden mit Node.js ausgefuehrt:

node tests/run.js
#TestBereichBeschreibung
01syntaxSyntaxPrueft jede .js-Datei im Projekt auf syntaktische Korrektheit
02data-structureDatenValidiert Exercises, Achievements, Dungeons, Translations auf Vollstaendigkeit
03translationsLokalisierungStellt sicher, dass alle DE/EN-Keys paarweise existieren und konsistent sind
04pure-functionsLogikUnit-Tests fuer ageBand, difficulty-Multiplikator, scaleReps, formatDuration etc.
05settingsKonfigurationDefault-Werte, Typen, Validierung der User-Settings
06html-idsDOMPrueft, dass alle getElementById-Aufrufe in JS ein HTML-Gegenstueck haben
07css-themesStylingStellt sicher, dass alle CSS-Variablen in Dark, Light und OLED definiert sind
08training-plansDatenValidiert Trainingsplaene, Slots, Stages und Goal-Aliases
09service-workerPWACache-Name, Precache-URLs auf Existenz, Manifest-Validierung
10streak-penaltySpiellogikStreak-Berechnung, Penalty-Reset, Level-Up-Progression, Stat-Gains
11onboarding-equipmentEinrichtungOnboarding-Daten und Equipment-Auswahl
12endurance-no-logSpiellogikDirekter Abschluss von Ausdauer-Quests ohne Pflichtprotokoll
13update-safetyMigrationSchutz bestehender Plaene und Daten bei Updates
14exercise-completion-flowSpiellogikPersistenz, Belohnungen und Character-Aktualisierung beim Abschluss
15ai-plan-importDatenValidierung und Normalisierung importierter KI-JSON-Plaene
16daily-quest-completion-flowSpiellogikFunktionale Abschlussmatrix fuer Tap-, Fokus-, Ausdauer-, Satz- und Timer-Quests
17backup-restoreDatenLegacy-Import, Streak-Fortsetzung, Extra-Quest-Bereinigung und atomarer Restore
18preset-plan-overlayUIOeffnen, Schliessen, Zuruecknavigation und Auswahl von Standardplaenen

Die Tests decken Syntax, Datenintegritaet, alle Daily-Quest-Abschlussarten, Backup-Restores, UI-Konsistenz und PWA-Infrastruktur ab.


Technologien und Sicherheit

  • Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+).
  • Datenbank: Supabase (PostgreSQL) fuer Cloud-Synchronisation + IndexedDB fuer lokale Performance.
  • PWA: Offline-Funktionalitaet durch Service Worker und Web App Manifest.
  • Visualisierung: Chart.js fuer dynamische Diagramme.
  • Cloud-Sync: Automatische Synchronisation aller Daten ueber Supabase. Cross-Device-Zugriff mit E-Mail-Account oder anonymes Tracking.
  • Datenschutz: Daten werden sicher in der Cloud gespeichert. RLS (Row Level Security) stellt sicher, dass nur der jeweilige User seine eigenen Daten sehen kann.

Installation

  1. Öffne die App im Browser.
  2. Wähle im Browser-Menü "Zum Startbildschirm hinzufügen".
  3. Nutze DailyQuest als native App auf deinem Gerät.

Changelog

Die vollständige Historie der Änderungen findest du in der CHANGELOG.md.


DailyQuest - Wo jeder Tag ein Abenteuer ist!

About

Sport Tracker angelehnt auf den Anime Solo Leveling, tägliche Übungen, Gamified und personalisierbar.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

223 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

DailyQuest

Verwandle dein tägliches Training in ein episches Rollenspiel. Steige im Level auf, sammle Ausrüstung und werde zur besten Version deiner selbst.

Daily Quests Overview

Über das Projekt

DailyQuest ist eine Progressive Web App (PWA), die darauf abzielt, die Motivation für Sport und produktive Gewohnheiten durch konsequente Gamification zu steigern. Das Projekt wurde im Rahmen von Jugend forscht 2026 entwickelt und kombiniert moderne Webtechnologien mit psychologischen Motivationsmodellen.

Die Kernidee basiert auf dem "System"-Konzept aus dem Webtoon Solo Leveling: Alltägliche Aufgaben werden in Quests verwandelt, die Erfahrungspunkte (Mana), Gold und Charakterfortschritt bringen.

DailyQuest V2

DailyQuest 2 wird als neue Version mit modernisiertem Dashboard, Admin-Bereich und Convex-Datenbank vorbereitet. Die bestehende Open-Source-Version bleibt weiterhin nutzbar und behaelt Supabase-Sync fuer bestehende Nutzer bei.


Kernfunktionen

Gameplay-Mechanik

FeatureBeschreibung
Level-SystemJede Aufgabe gibt Mana (XP). Steige auf und verbessere deine Werte.
Tägliche QuestsAutomatisch generierte Aufgaben, angepasst an deine Ziele und Schwierigkeit.
StrafsystemVerpasste Quests haben Konsequenzen für Level und Stats - Disziplin wird belohnt.
Streak-SystemTägliche Nutzung wird getrackt. Streak Freezes retten deine Serie in Notfällen.
Extra-QuestsTägliche Herausforderungen mit hohem Risiko und hohen Belohnungen.

Charakter-System

Character Page
  • Dynamische Stats: Kraft, Ausdauer, Beweglichkeit, Durchhaltevermögen, Willenskraft.
  • Player-Labels: Über 20 personalisierte Titel basierend auf deinen individuellen Stärken.
  • Ausrüstung: Erwerbe Waffen und Rüstungen im Shop, um Boni für Kämpfe zu erhalten.
  • Fortschrittsvisualisierung: Radar-Diagramme für Stats und Linien-Diagramme für Gewichtsverlauf.

Training und Übungen

Über 50 Übungen sind für das Home-Gym und Eigengewichtstraining optimiert:

KategorieBeispiele
KraftBicep Curls, Deadlifts, Pistol Squats
AusdauerBurpees, Joggen, Hula Hoop
FettverbrennungMountain Climbers, Shadowboxing
KörpergewichtPush-ups, Plank, Hollow Body Hold
FokusLernen, Sprachen, Coding (Timer-basiert)
ErholungSpaziergänge, Dehnen, Lesen

Fokus-Modul

Focus Timer
  • Pomodoro-Timer und Stoppuhr für produktive Phasen.
  • Kategorien-System zur Einordnung der Sessions.
  • Belohnungen für abgeschlossene Fokus-Zeit zur Steigerung der Konzentration.

Dungeons und Kampf

Mit einer Wahrscheinlichkeit von 5% erscheint beim App-Start ein Dungeon:

  • Monster-Typen: Schattenwolf, Höhlenbär, Morast-Zombie mit skalierender Stärke.
  • Aktives Kampfsystem: Besiege Gegner durch das Absolvieren realer physischer Übungen.
  • Strategie: Nutze Ausrüstungs-Boni und verwalte deine persistenten HP.

Dokumentation

Detaillierte Informationen zur Architektur, zum Design und zur Theorie hinter DailyQuest findest du hier:


Tests

Das Projekt enthaelt eine Test-Suite mit 18 spezialisierten Modultests. Alle Tests werden mit Node.js ausgefuehrt:

node tests/run.js
#TestBereichBeschreibung
01syntaxSyntaxPrueft jede .js-Datei im Projekt auf syntaktische Korrektheit
02data-structureDatenValidiert Exercises, Achievements, Dungeons, Translations auf Vollstaendigkeit
03translationsLokalisierungStellt sicher, dass alle DE/EN-Keys paarweise existieren und konsistent sind
04pure-functionsLogikUnit-Tests fuer ageBand, difficulty-Multiplikator, scaleReps, formatDuration etc.
05settingsKonfigurationDefault-Werte, Typen, Validierung der User-Settings
06html-idsDOMPrueft, dass alle getElementById-Aufrufe in JS ein HTML-Gegenstueck haben
07css-themesStylingStellt sicher, dass alle CSS-Variablen in Dark, Light und OLED definiert sind
08training-plansDatenValidiert Trainingsplaene, Slots, Stages und Goal-Aliases
09service-workerPWACache-Name, Precache-URLs auf Existenz, Manifest-Validierung
10streak-penaltySpiellogikStreak-Berechnung, Penalty-Reset, Level-Up-Progression, Stat-Gains
11onboarding-equipmentEinrichtungOnboarding-Daten und Equipment-Auswahl
12endurance-no-logSpiellogikDirekter Abschluss von Ausdauer-Quests ohne Pflichtprotokoll
13update-safetyMigrationSchutz bestehender Plaene und Daten bei Updates
14exercise-completion-flowSpiellogikPersistenz, Belohnungen und Character-Aktualisierung beim Abschluss
15ai-plan-importDatenValidierung und Normalisierung importierter KI-JSON-Plaene
16daily-quest-completion-flowSpiellogikFunktionale Abschlussmatrix fuer Tap-, Fokus-, Ausdauer-, Satz- und Timer-Quests
17backup-restoreDatenLegacy-Import, Streak-Fortsetzung, Extra-Quest-Bereinigung und atomarer Restore
18preset-plan-overlayUIOeffnen, Schliessen, Zuruecknavigation und Auswahl von Standardplaenen

Die Tests decken Syntax, Datenintegritaet, alle Daily-Quest-Abschlussarten, Backup-Restores, UI-Konsistenz und PWA-Infrastruktur ab.


Technologien und Sicherheit

  • Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+).
  • Datenbank: Supabase (PostgreSQL) fuer Cloud-Synchronisation + IndexedDB fuer lokale Performance.
  • PWA: Offline-Funktionalitaet durch Service Worker und Web App Manifest.
  • Visualisierung: Chart.js fuer dynamische Diagramme.
  • Cloud-Sync: Automatische Synchronisation aller Daten ueber Supabase. Cross-Device-Zugriff mit E-Mail-Account oder anonymes Tracking.
  • Datenschutz: Daten werden sicher in der Cloud gespeichert. RLS (Row Level Security) stellt sicher, dass nur der jeweilige User seine eigenen Daten sehen kann.

Installation

  1. Öffne die App im Browser.
  2. Wähle im Browser-Menü "Zum Startbildschirm hinzufügen".
  3. Nutze DailyQuest als native App auf deinem Gerät.

Changelog

Die vollständige Historie der Änderungen findest du in der CHANGELOG.md.


DailyQuest - Wo jeder Tag ein Abenteuer ist!

About

Sport Tracker angelehnt auf den Anime Solo Leveling, tägliche Übungen, Gamified und personalisierbar.

Resources

Stars

6 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages