Jonas 14176a3ee2 Add admin user management and password-change flow
Introduce full admin user listing/detail endpoints and a forced password-change flow. Backend: make CurrentUserResponse.UserName nullable and add ToCurrentUserResponseAsync extension; AppUserController now exposes GET /auth/user (list) and GET /auth/user/{id} (detail) using UserManager and Admin-only policy; AuthController uses the new mapper and after successful password change clears MustChangePassword, updates UpdatedAt and persists changes (with error handling) before updating security stamp. Frontend: add admin users pages (list + detail), ChangePassword page and route, adminUsers and enhanced authSession services (typed responses, changePassword API, error mapping), router guard to redirect users with mustChangePassword=true to the change-password flow, and show success banner on login after password change. UI tweaks: separate admin section in sidebar, add password-change entries in account menu, footer sizing fixes, and various layout/UX improvements. These changes enable admin account management and enforce secure password updates across the app.
2026-04-20 21:02:16 +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%