86ed227566bf626d7ceb2a0814b56e0abfda7663
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.
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.
Description
Languages
C#
48.2%
TypeScript
34.3%
HTML
10.3%
Vue
7.2%