Roadmap
Diese Roadmap beschreibt die aktive Produktrichtung. Sie ersetzt die ältere Phasenliste, die vor Anbieter-Synchronisierung, Aufgabenblöcken, Buckets, Einstellungen und Kalender-Refactors entstand.
Aktuelle Produktform
Dainvo ist ein lokal-first Desktop-Kalender-Arbeitsbereich mit:
- lokalen Kalendern und lokalem Termin-CRUD
- Synchronisierungs- und Mutationspfaden für Google, Outlook, Apple Calendar und generisches CalDAV
- grundlegender Wiederholungs-Erweiterung
- ICS-Import und -Export
- lokalen, Todoist-, Microsoft To Do-, Google Tasks- und TickTick-Elternaufgaben
- Aufgabenblöcken als Kalender-Arbeitssitzungen
- Buckets als Kalender-Zeitblöcken, die Aufgaben enthalten können
- Einstellungen für Kalender, Aufgaben, Erscheinungsbild, Konten, Erinnerungen, Tastenkürzel und Synchronisierung
- Online-Meeting-Unterstützung für Microsoft Teams, Google Meet, Zoom und Webex
- Erinnerungen im Main-Prozess und sichere Anbieter-/Token-Grenzen
Projekte werden in der aktiven App nicht angezeigt. Das Repository enthält weiterhin Projekttabellen, IPC-Namen und Kompatibilitätsdienste, weil Buckets ursprünglich denselben Namespace nutzten und zukünftige Projekte zurückkehren können. Behandeln Sie diese Namen als Kompatibilitätsdetails, sofern ein zukünftiges Projekt Projects nicht ausdrücklich wieder aktiviert.
Kurzfristige Stabilitätsarbeit
CalendarPage.tsxweiter reduzieren, indem fokussierte Mutations-Hooks und Rendering-Komponenten extrahiert werden.- Kalender-, Aufgaben-, Anbieter-, Bucket-, Konto- und Einstellungsverhalten hinter den vorhandenen typisierten Preload-APIs halten.
- Das Laden sichtbarer Kalenderbereiche für Termine, Aufgaben und Buckets begrenzen.
- Startup-, Migrations-, Synchronisierungs- und Datenbank-Shutdown-Verhalten weiter straffen.
- Tests für extrahierte Helfer, Validierung, Dienste und Repository-Änderungen hinzufügen, wenn sich Verhalten ändert.
Funktionsrichtung
- Kalender: FullCalendar als reine UI beibehalten und gleichzeitig App-eigene Symbolleiste, Seitenleisten, kompakte Popups, Kontextmenüs, Detailbereich und Modale erhalten.
- Aufgaben: Elternaufgaben getrennt von Aufgabenblöcken halten; Aufgabenblöcke bleiben lokale Planungsdatensätze.
- Aufgabenanbieter: Anbieterprojekte/-listen als Anbieter-Metadaten für Synchronisierung, Composer und Seitenleistenfilterung halten. Todoist-Projektspiegelung in Dainvo Projects bleibt Zukunftsthema.
- Buckets: Buckets unabhängig von Projects halten und als
kind: 'bucket'-Kalenderelemente rendern. - Einstellungen: Vorhandene DaisyUI-Einstellungsbereiche und typisierte Preference-Persistenz erweitern, statt Ad-hoc-Steuerelemente hinzuzufügen.
- Dokumente und Projects: Als Zukunftsplanung behandeln, sofern sie nicht ausdrücklich eingegrenzt werden.
Release-Härtung
pnpm lint,pnpm typecheck,pnpm testundpnpm buildgrün halten.- Anbieter-Tests gemockt halten; automatisierte Tests dürfen keine Live-Dienste von Google, Microsoft, Apple Calendar, CalDAV, Todoist, TickTick, Zoom, Webex, Supabase oder Stripe aufrufen.
- OAuth-Tokens, Datenbankpfade, Anbieter-Payloads und rohe Synchronisierungsdaten aus Renderer und Logs heraushalten.
- Packaging-, Signing-/Notarization- und Release-QA-Hinweise vor einem stabilen Desktop-Release hinzufügen.