Jonas 86ed227566 Add frontend auth, dashboard & router guards
Introduce a complete frontend auth flow and protected dashboard.

- Add auth session module (GUI/src/services/authSession.ts) with fetchCurrentUser, login, logout, caching and structured errors.
- Add Dashboard page (GUI/src/routes/dashboard/Dashboard.vue) and a protected Dashboard route (meta.requiresAuth) at '/'.
- Move public landing page to /welcome and mark it Visibility.Unauthenticated; update 404 and Impressum links.
- Implement router guard (GUI/src/router/index.ts) to redirect unauthenticated users to Login and prevent logged-in users from accessing guest-only pages.
- Update routes layout (GUI/src/plugins/routesLayout.ts) to include authenticated/unauthenticated visibility and dashboard entry.
- Update Layout.vue to track current user, show username/menu, conditionally render sidebar items, add logout flow and error snackbar, and insert visual divider before auth-only items.
- Convert Login.vue into a working login form with loading state, error handling and redirect after success.
- Update codexInfo.md to document the new auth features and related UI/route changes.
2026-04-18 22:42:17 +02:00
2026-04-15 20:34:10 +02:00
2026-04-15 20:34:10 +02:00

Hoard

Hoard ist eine einfache, selbst gehostete Web-App zur Verwaltung von Dateien und Ordnern mit integrierter Markdown-Bearbeitung direkt im Browser.

Die Anwendung bewegt sich funktional zwischen Google Drive, Notion und Obsidian, bleibt dabei aber bewusst schlank und pragmatisch umgesetzt. Fokus liegt auf klarer Navigation, einfacher Bedienung und einem realistischen Umfang für ein Solo-Projekt.

Features

  • 📁 Dateien und Ordner verwalten
  • 🧭 Durch Ordnerstrukturen navigieren
  • 📝 Markdown-Dateien direkt im Browser bearbeiten
  • 🖼️ Vorschau für Bilder und PDFs
  • 📦 Andere Dateien speichern und herunterladen
  • 👥 Mehrbenutzerfähig (Accounts werden manuell erstellt)
  • 🔐 Klassische Login-Session mit Cookies

Tech-Stack

  • Frontend: Vue 3
  • Markdown-Editor: md-editor-v3
  • Backend: ASP.NET Core (C#)
  • Datenbank: PostgreSQL
  • Dateispeicher: MinIO (S3-kompatibel)
  • Authentifizierung: Cookie-basiert
  • Deployment: Self-hosted auf eigenem Server

Ziel

Ein bewusst einfach gehaltenes System, das sich wie eine klassische Dateiverwaltung im Browser anfühlt ohne unnötige Komplexität, aber mit sauberer Grundlage für spätere Erweiterungen.

S
Description
File and Knowledge Management
Readme 5.2 MiB
Languages
C# 48.2%
TypeScript 34.3%
HTML 10.3%
Vue 7.2%