Feuille de route
Cette feuille de route décrit l'orientation produit active. Elle remplace l'ancienne liste de phases qui précédait la synchronisation des fournisseurs, les blocs de tâches, les buckets, les paramètres et les refactorisations du calendrier.
Forme actuelle du produit
Dainvo est un espace de travail calendrier de bureau local d'abord avec :
- calendriers locaux et CRUD d'événements locaux
- chemins de synchronisation et de mutation pour Google, Outlook, Apple Calendar et CalDAV générique
- développement de récurrence de base
- import/export ICS
- tâches parentes locales, Todoist, Microsoft To Do, Google Tasks et TickTick
- blocs de tâches comme sessions de travail sur le calendrier
- buckets comme blocs de temps de calendrier pouvant contenir des tâches
- paramètres pour le calendrier, les tâches, l'apparence, les comptes, les rappels, les raccourcis et la synchronisation
- prise en charge des réunions en ligne Microsoft Teams, Google Meet, Zoom et Webex
- rappels dans le processus principal et limites sûres pour les fournisseurs et les jetons
Les projets ne sont pas exposés dans l'application active. Le dépôt contient encore des tables de projets, des noms IPC et des services de compatibilité parce que les buckets partageaient à l'origine cet espace de noms et que de futurs projets peuvent revenir. Traitez ces noms comme des détails de compatibilité sauf si un futur projet réactive explicitement les projets.
Travail de stabilité à court terme
- Continuer à réduire
CalendarPage.tsxen extrayant des hooks de mutation ciblés et des composants de rendu. - Garder le comportement du calendrier, des tâches, des fournisseurs, des buckets, des comptes et des paramètres derrière les API preload typées existantes.
- Garder le chargement de la plage visible du calendrier borné pour les événements, les tâches et les buckets.
- Continuer à renforcer le démarrage, les migrations, la synchronisation et l'arrêt de la base de données.
- Ajouter des tests pour les helpers extraits, la validation, les services et les changements de dépôt lorsque le comportement change.
Orientation des fonctionnalités
- Calendrier : maintenir FullCalendar comme UI uniquement tout en préservant la barre d'outils appartenant à l'application, les barres latérales, les fenêtres contextuelles compactes, les menus contextuels, le panneau de détails et les modales.
- Tâches : garder les tâches parentes séparées des blocs de tâches ; les blocs de tâches restent des enregistrements locaux de planification.
- Fournisseurs de tâches : garder les projets/listes fournisseur comme métadonnées fournisseur pour la synchronisation, le composeur et le filtrage de barre latérale. Le miroir des projets Todoist vers les projets Dainvo reste prévu pour le futur seulement.
- Buckets : garder les buckets indépendants des projets et les afficher comme éléments de calendrier
kind: 'bucket'. - Paramètres : étendre les sections DaisyUI existantes et la persistance typée des préférences au lieu d'ajouter des contrôles ad hoc.
- Documents et projets : les garder comme planification future sauf si leur périmètre est explicitement défini.
Durcissement des versions
- Garder
pnpm lint,pnpm typecheck,pnpm testetpnpm buildau vert. - Garder les tests fournisseur simulés ; les tests automatisés ne doivent pas appeler les services live Google, Microsoft, Apple Calendar, CalDAV, Todoist, TickTick, Zoom, Webex, Supabase ou Stripe.
- Garder les jetons OAuth, chemins de base de données, charges utiles fournisseur et données brutes de synchronisation hors du renderer et des journaux.
- Ajouter les notes de packaging, signature/notarisation et QA de version avant une version de bureau stable.