Files
fightme-cmd a198219bc0 Initial commit: Deklinationstrainer German declension trainer
Vite + React app for daily German declension practice with
localStorage-backed progress. Includes Coolify deploy instructions.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-17 13:00:57 +02:00

1.3 KiB

Deklinationstrainer

A daily-practice German declension trainer. Self-hosted so your progress actually saves.

Deploy to Coolify

One-time setup

  1. Push these files to a git repo (GitHub / Gitea / whatever Coolify is connected to).

  2. In Coolify, create a new Application:

    • Source: your git repo
    • Build pack: Nixpacks (auto-detects Vite) or Static
    • Build command: npm run build
    • Publish directory: dist
    • Port: not needed for static output (Coolify serves it directly)
  3. Add a domain (e.g. deklination.yourdomain.com). Coolify provisions HTTPS via Caddy/Traefik automatically.

  4. Deploy. Visit the URL on any device.

Local dev

npm install
npm run dev    # http://localhost:5173
npm run build  # outputs to ./dist

On iPhone

Open the URL in Safari, tap Share → Add to Home Screen. It opens fullscreen like a native app, and progress saves in localStorage across reboots, sessions, and app closes.

Storage

The app tries window.storage first (Claude artifact environment), then falls back to localStorage. When self-hosted, only localStorage runs, which iOS Safari persists reliably.

To wipe progress: open browser devtools → Application → Local Storage → delete the gd-v10 key. Or on iPhone: Settings → Safari → Advanced → Website Data → search your domain → delete.