Jonas 178bc8731e Add admin user creation & must-change flag
Add server and UI support for creating admin users and forcing password change. API: introduce CreateUserRequest contract and add CreateNewAppUser endpoint in AppUserController; extend ChangeUserRequest with MustChangePassword and handle role assignment and detailed error responses (409/422/400). Frontend: new CreateUserDialog component, integrate it into AdminUsers list, and add createAdminUser service with CreateAdminUserError and payload handling; include mustChangePassword in update payloads and EditUserDialog. UI polish: enhanced app banner enter/leave animations in Layout.vue and add auto-dismiss timers/cleanup to appBanners store to limit and auto-remove banners.
2026-05-03 15:56:28 +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%