Roadmap
Deze roadmap beschrijft de actieve productrichting. Hij vervangt de oudere faselijst die bestond voordat providersynchronisatie, taakblokken, buckets, instellingen en de agenda-refactors werden toegevoegd.
Huidige productvorm
Dainvo is een lokaal eerst desktopwerkruimte voor agenda's met:
- lokale agenda's en CRUD voor lokale afspraken
- synchronisatie- en mutatiepaden voor Google, Outlook, Apple Calendar en generieke CalDAV
- eenvoudige uitbreiding van herhaling
- ICS-import/export
- bovenliggende taken voor lokale taken, Todoist, Microsoft To Do, Google Tasks en TickTick
- taakblokken als agendagebaseerde werksessies
- buckets als agendatijdblokken die taken kunnen bevatten
- instellingen voor agenda, taken, weergave, accounts, herinneringen, sneltoetsen en synchronisatie
- ondersteuning voor online vergaderingen via Microsoft Teams, Google Meet, Zoom en Webex
- herinneringen in het main process en veilige grenzen voor providers/tokens
Projects worden niet getoond in de actieve app. De repository bevat nog steeds projecttabellen, IPC-namen en compatibiliteitsservices omdat buckets oorspronkelijk die namespace deelden en toekomstige Projects kunnen terugkeren. Beschouw die namen als compatibiliteitsdetails tenzij een toekomstig project Projects expliciet opnieuw inschakelt.
Stabiliteitswerk op korte termijn
- Blijf
CalendarPage.tsxverkleinen door gerichte mutation hooks en rendercomponenten te extraheren. - Houd agenda-, taak-, provider-, bucket-, account- en instellingengedrag achter de bestaande getypeerde preload-API's.
- Houd het laden van zichtbare agendabereiken begrensd voor afspraken, taken en buckets.
- Blijf startup-, migratie-, synchronisatie- en database-afsluitgedrag aanscherpen.
- Voeg tests toe voor geëxtraheerde helpers, validatie, services en repositorywijzigingen wanneer gedrag verandert.
Functierichting
- Agenda: behoud FullCalendar als alleen UI terwijl app-eigen werkbalk, zijbalken, compacte pop-ups, contextmenu's, detailpaneel en modals behouden blijven.
- Taken: houd bovenliggende taken gescheiden van taakblokken; taakblokken blijven lokale planningsrecords.
- Taakproviders: houd providerprojecten/lijsten als providermetadata voor synchronisatie, composer en zijbalkfiltering. Todoist-projectspiegeling naar Dainvo Projects is alleen toekomstig.
- Buckets: houd buckets onafhankelijk van Projects en render ze als
kind: 'bucket'agenda-items. - Instellingen: breid bestaande DaisyUI-instellingensecties en getypeerde voorkeurspersistentie uit in plaats van ad-hoc-bediening toe te voegen.
- Documenten en Projects: houd ze als toekomstige planning tenzij ze expliciet worden gescoped.
Release-hardening
- Houd
pnpm lint,pnpm typecheck,pnpm testenpnpm buildgroen. - Houd providertests gemockt; geautomatiseerde tests mogen geen live Google-, Microsoft-, Apple Calendar-, CalDAV-, Todoist-, TickTick-, Zoom-, Webex-, Supabase- of Stripe-services aanroepen.
- Houd OAuth-tokens, databasepaden, providerpayloads en ruwe synchronisatiegegevens uit de renderer en logs.
- Voeg packaging-, signing/notarization- en release-QA-notities toe vóór een stabiele desktoprelease.