Zum Hauptinhalt springen

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.tsx weiter 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 test und pnpm build grü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.