Vault

Lightweight Local Wiki

Ein schlankes, lokal betriebenes Wiki für persönliche Notizen und technische Dokumentationen – browserbasiert, offline und unter vollständiger Kontrolle des Anwenders.

Lightweight Local Wiki ermöglicht das Erstellen, Bearbeiten, Organisieren und Durchsuchen persönlicher Wissensseiten. Die Inhalte werden als lesbare und portable Markdown-Dateien direkt auf dem lokalen Rechner gespeichert. Dadurch kommt die Anwendung ohne Cloud-Dienst und ohne externe Datenbank aus. Gleichzeitig bleiben die Daten einfach zugänglich und können problemlos mit einer Versionsverwaltung gesichert werden.

Techstack

Das Frontend wird mit React, TypeScript, Vite, React Router und Tailwind CSS umgesetzt. Das Backend basiert auf Kotlin und Ktor und wird mit Gradle gebaut. Für die Kommunikation zwischen Frontend und Backend ist eine REST-API vorgesehen.

Die Wiki-Inhalte werden als Markdown-Dateien im lokalen Dateisystem gespeichert. Eine relationale Datenbank oder ein externer Speicherdienst wird für die Kernfunktionen nicht benötigt.

Architektur

Das Projekt ist als Monorepo aufgebaut und trennt Frontend und Backend in eigenständige Bereiche. Die React-Anwendung läuft im Browser und kommuniziert über eine REST-Schnittstelle mit dem Ktor-Backend.

Sämtliche Zugriffe auf das lokale Dateisystem erfolgen ausschließlich über das Backend. Für die spätere Auslieferung soll das kompilierte Frontend direkt in das ausführbare Backend-Paket integriert werden. Dadurch lässt sich die vollständige Anwendung lokal mit einem einzigen Startvorgang betreiben.

Status der Umsetzung

Die grundlegende Projektstruktur sowie das Kotlin-Backend und das React-Frontend sind eingerichtet. Das Frontend verfügt bereits über eine grundlegende Anwendungsstruktur und clientseitiges Routing.

Im Backend wurden die lokale Serverkonfiguration, ein konfigurierbares Wiki-Verzeichnis und erste REST-Endpunkte umgesetzt. Gemeinsame Datenmodelle für Frontend und Backend sowie erste automatisierte Tests sind ebenfalls vorhanden. Der Server ist standardmäßig ausschließlich über die lokale Loopback-Adresse erreichbar.

Die eigentlichen Funktionen zur Verwaltung und Darstellung von Wiki-Seiten befinden sich noch in der Entwicklung.

Ausblick

Als nächste Schritte sind die sichere Verwaltung der Markdown-Dateien und die dazugehörigen REST-Endpunkte geplant. Anschließend sollen Seiten über die Benutzeroberfläche erstellt, gelesen, bearbeitet, umbenannt, verschoben und gelöscht werden können.

Weitere geplante Funktionen sind eine Ordner- und Seitennavigation, eine Volltextsuche, ein Markdown-Editor mit Vorschau, interne Wiki-Verlinkungen und die automatische Erkennung externer Dateiänderungen. Abschließend soll die Anwendung als lokal ausführbares Gesamtpaket mit einem möglichst einfachen Startprozess bereitgestellt werden.