Eine kleine App, die euch in einer gemütlichen Runde zufällige Herzensfragen stellt — für mehr Nähe, Gespräche und ehrliche Momente zu zweit.
Bietet sich perfekt für Paare an, die etwas Abwechslung in ihre Gespräche bringen wollen, oder einfach mal wieder tiefgründige Fragen stellen möchten.
- Fragen werden zur Laufzeit geladen und lassen sich beliebig anpassen.
- Gespielte, übersprungene und dauerhaft gesperrte Fragen werden im Browser gespeichert. So kann zu jeder Zeit mit den Fragen weitergemacht werden, ohne dass etwas verloren geht.
- Die App ist für mobile Geräte optimiert.
- Mobile-first Design
- Shuffle der Fragen per Button, Leertaste und Enter-Taste
- Kategorienfilter, falls zu intime Frage nicht in den aktuellen Raum passen
- Temporäres Überspringen oder dauerhaftes Sperren einzelner Fragen
- Fortschritt, Fragen-History und Sperrung von unbequemen Fragen bleiben im Browser erhalten
- Docker-Multi-Stage-Build mit nginx für einfaches statisches Hosting inklusive eigener Fragen-Datei
Die App lädt ihre Fragen aus:
/data/questions.json
und lässt sich damit perfekt mit einer eigenen Fragen-Datei anpassen. Das Format der Datei ist dabei strikt vorgegeben, damit die App die Fragen korrekt laden und darstellen kann.
Die Datei muss ein JSON-Array mit Objekten sein:
[
{
"id": "q001",
"text": "Wofür fühlst du dich in unserer Beziehung im Moment am meisten dankbar?",
"category": "verbundenheit-wachstum"
},
{
"id": "q002",
"text": "Was ist deine liebste Erinnerung an unsere gemeinsame Zeit?",
"category": "erinnerungen"
}
]-
idMuss ein eindeutiger, nicht-leerer String sein. -
textMuss ein nicht-leerer String sein. -
categoryMuss eine der erlaubten Kategorien sein:sex-intimitaetverbundenheit-wachstumerinnerungenbeziehungueber-dich
Du kannst eine eigene Datei vom Host in den Container mounten und damit die Standardfragen ersetzen.
Beispiel docker-compose.yml:
services:
love-shuffle:
image: beberhardt/love-shuffle-app:latest
ports:
- "8080:80"
restart: unless-stopped
volumes:
- ./questions.json:/usr/share/nginx/html/data/questions.json:roDanach starten via:
docker compose up -dDie App lädt dann zur Laufzeit deine gemountete Datei.
- Node.js (Empfohlen: v24.x LTS). Die Datei
.nvmrcenthält die gewünschte Version. - npm
- Docker zur lokalen Container-Ausführung falls gewünscht.
# mit nvm (empfohlen)
nvm install
nvm use(Unter Windows eventuell via nvm use $(Get-Content .nvmrc).replace( 'v', '' );
npm installnpm run devDie App ist dann typischerweise unter http://localhost:5173 erreichbar.
npm run buildOutput liegt in dist/.
npm run previewE2E-Tests mit Playwright:
npm run test:e2e