Jonas 522d31dc6e Serve SPA from API and add health endpoint
Switch backend to serve the built SPA and static assets, add a minimal health endpoint, and clean up template code. Changes: added API/Controllers/HealthController.cs (GET /api/health -> 200), removed WeatherForecast controller and model, removed OpenAPI package reference and OpenAPI wiring from API.csproj/Program.cs, updated Program.cs to serve wwwroot with default files/static files and a SPA fallback that returns index.html for non-/api routes (/api/* returns 404), updated GUI/vite.config.ts to output build to API/wwwroot and clear the directory, added API/wwwroot to .gitignore, and updated codexInfo.md to document these changes. This enables the GUI build to be deployed directly into the API project and served as a single-page app.
2026-04-18 12:45:02 +02:00
2026-04-15 20:34:10 +02:00
2026-04-15 20:34:10 +02:00
2026-04-15 20:42:49 +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%