4 Commits
Author SHA1 Message Date
Jannik d7b1acbe33 Bonus 17: Sichere API-Key-Speicherung (.env + age-Option)
CI / test (push) Canceled after 0s
CI / webapp (push) Canceled after 0s
- .gitignore: Secrets (.env, *.key, *.pem) + Coverage + Temp-Verzeichnisse
- .env.example: Template ohne echte Werte, mit Anleitung
- scripts/token-gen.mjs: HMAC-Bearer-Token-Generator
- package.json: token-gen + build:twa Scripts
- docs/SECRETS.md: komplette Anleitung
  - Lokale Entwicklung (.env)
  - CI (gitea-Repository-Secrets)
  - age-Verschluesselung als optionale Schicht
  - Was NIE tun / was IMMER tun
  - Incident-Response bei geleaktem Secret

Verifiziert:
- token-gen erzeugt Token korrekt (stderr: Token gueltig...)
- 122/122 Tests gruen
- .env.example im Repo, .env ist gitignored
2026-09-05 18:03:04 +02:00
Jannik 6ce986c265 v2.0.12: Backup-Strategie dokumentiert
CI / test (push) Canceled after 0s
CI / webapp (push) Canceled after 0s
- docs/BACKUP.md: vollstaendige Backup-Anleitung
  - 3 Ebenen: lokal, gitea (automatisch), externes Backup
  - Empfohlene Strategie: woechentlich + monatlich
  - PowerShell-Backup-Skript mit robocopy + automatischer Cleanup
  - 4 Disaster-Szenarien + Loesungen:
    - Notiz geloescht (git checkout)
    - Vault weg (frischer Clone)
    - Letzter Sync vor Loeschung (Commit-Restore)
    - gitea selbst weg (neue Instanz + Remote-Update)
  - Backup-Hygiene: Verschluesselung, 3-2-1-Regel, Testen, Rotation
  - Vault-spezifische Tipps (sync nach Ingest, etc.)
2026-09-05 12:46:10 +02:00
Jannik ecec8c5114 v2.0.10: OpenAPI 3.1 Spec fuer Notes-API
CI / test (push) Canceled after 0s
CI / webapp (push) Canceled after 0s
- docs/openapi.yaml: vollstaendige OpenAPI 3.1 Spezifikation
  - 4 Endpoints: GET /api/notes, GET/PUT /api/notes/{id}, POST /api/sync
  - Schemas: NoteData, SyncResult
  - Auth: Bearer-Token (optional, HMAC-SHA256)
  - Error-Responses: 401 Unauthorized, 404 Not Found, 500 Server Error
  - Beispiele fuer jeden Endpoint
  - Beschreibung von CORS, Background-Sync, Production-Deployment

Kann genutzt werden mit:
- Swagger UI (statisch aus YAML)
- OpenAPI-Code-Generatoren (Client-SDKs in TS, Python, Go, ...)
- API-Testing-Tools (Postman, Insomnia, etc.)
2026-09-05 12:44:15 +02:00
Jannik 6ce8649877 v2.0.9: Migration-Guide Obsidian -> Mind-o-Mat
CI / test (push) Canceled after 0s
CI / webapp (push) Canceled after 0s
- docs/MIGRATION.md: vollstaendiger Migrations-Leitfaden
  - 9 Schritte: Vault-Struktur, Naming, Frontmatter, Tags, Plugins, Tool, QMD, Index, PWA
  - PowerShell-Skripte fuer Ordner-Anlage, Naming-Normalisierung, Tag-Migration
  - Vergleich Obsidian-Workflow vs. Mind-o-Mat-Workflow
  - Was nicht funktioniert (Sync, Publish, Excalidraw, etc.)
  - Haeufige Probleme + Loesungen
  - Rueckkehr zu Obsidian moeglich

Verifiziert: Markdown ist valides CommonMark, keine gebrochenen Links
2026-09-05 12:43:17 +02:00