Saltar al contenido principal

Roadmap

Este roadmap describe la dirección activa del producto. Reemplaza la lista de fases anterior que existía antes de la sincronización con proveedores, bloques de tareas, buckets, configuración y refactorizaciones del calendario.

Forma actual del producto

Dainvo es un espacio de calendario de escritorio local primero con:

  • calendarios locales y CRUD de eventos locales
  • rutas de sincronización y mutación para Google, Outlook, Apple Calendar y CalDAV genérico
  • expansión básica de recurrencias
  • importación y exportación ICS
  • tareas principales locales, de Todoist, Microsoft To Do, Google Tasks y TickTick
  • bloques de tareas como sesiones de trabajo en calendario
  • buckets como bloques de tiempo de calendario que pueden contener tareas
  • configuración para calendario, tareas, apariencia, cuentas, recordatorios, atajos y sincronización
  • soporte de reuniones en línea con Microsoft Teams, Google Meet, Zoom y Webex
  • recordatorios en el proceso principal y límites seguros para proveedores y tokens

Los proyectos no están expuestos en la app activa. El repositorio todavía tiene tablas, nombres IPC y servicios de compatibilidad de proyectos porque originalmente los buckets compartían ese espacio de nombres y los proyectos podrían volver en el futuro. Trata esos nombres como detalles de compatibilidad salvo que un proyecto futuro reactive explícitamente Proyectos.

Trabajo de estabilidad a corto plazo

  • Seguir reduciendo CalendarPage.tsx mediante hooks de mutación enfocados y componentes de renderizado.
  • Mantener comportamiento de calendario, tareas, proveedores, buckets, cuentas y configuración detrás de las APIs preload tipadas existentes.
  • Mantener acotada la carga de rangos visibles del calendario para eventos, tareas y buckets.
  • Seguir endureciendo inicio, migración, sincronización y cierre de base de datos.
  • Añadir pruebas para helpers extraídos, validación, servicios y cambios de repositorio cuando cambie el comportamiento.

Dirección de funciones

  • Calendario: mantener FullCalendar solo como UI mientras se preservan barra de herramientas propia de la app, barras laterales, popups compactos, menús contextuales, panel de detalles y modales.
  • Tareas: mantener tareas principales separadas de bloques de tareas; los bloques de tareas siguen siendo registros locales de programación.
  • Proveedores de tareas: mantener proyectos/listas de proveedores como metadatos del proveedor para sincronización, compositor y filtrado de barra lateral. Reflejar proyectos de Todoist en Proyectos de Dainvo es solo futuro.
  • Buckets: mantener buckets independientes de Proyectos y renderizarlos como elementos de calendario kind: 'bucket'.
  • Configuración: extender las secciones existentes de DaisyUI y la persistencia tipada de preferencias en lugar de añadir controles ad hoc.
  • Documentos y Proyectos: mantenerlos como planificación futura salvo que se acoten explícitamente.

Endurecimiento de versiones

  • Mantener pnpm lint, pnpm typecheck, pnpm test y pnpm build pasando.
  • Mantener pruebas de proveedores con mocks; las pruebas automatizadas no deben llamar servicios reales de Google, Microsoft, Apple Calendar, CalDAV, Todoist, TickTick, Zoom, Webex, Supabase o Stripe.
  • Mantener tokens OAuth, rutas de base de datos, payloads de proveedores y datos de sincronización sin procesar fuera del renderer y logs.
  • Añadir notas de empaquetado, firma/notarización y QA de versiones antes de una versión estable de escritorio.