Pular para o conteúdo principal

Roadmap

Este roadmap descreve a direção ativa do produto. Ele substitui a lista de fases mais antiga que existia antes da sincronização de provedores, blocos de tarefas, buckets, configurações e refatorações do calendário.

Forma atual do produto

Dainvo é um espaço de calendário desktop local primeiro com:

  • calendários locais e CRUD de eventos locais
  • caminhos de sincronização/mutação para Google, Outlook, Apple Calendar e CalDAV genérico
  • expansão básica de recorrência
  • importação/exportação ICS
  • tarefas principais locais, Todoist, Microsoft To Do, Google Tasks e TickTick
  • blocos de tarefas como sessões de trabalho no calendário
  • buckets como blocos de tempo do calendário que podem conter tarefas
  • configurações de calendário, tarefas, aparência, contas, lembretes, atalhos e sincronização
  • suporte a reuniões online do Microsoft Teams, Google Meet, Zoom e Webex
  • lembretes no processo principal e limites seguros para provedores/tokens

Projetos não são expostos no app ativo. O repositório ainda tem tabelas de projeto, nomes IPC e serviços de compatibilidade porque buckets originalmente compartilhavam esse namespace e Projetos podem voltar no futuro. Trate esses nomes como detalhes de compatibilidade, a menos que um projeto futuro reative Projetos explicitamente.

Trabalho de estabilidade no curto prazo

  • Continuar reduzindo CalendarPage.tsx extraindo hooks de mutação focados e componentes de renderização.
  • Manter comportamento de calendário, tarefas, provedores, buckets, contas e configurações atrás das APIs preload tipadas existentes.
  • Manter carregamento de intervalo visível do calendário limitado para eventos, tarefas e buckets.
  • Continuar reforçando inicialização, migração, sincronização e desligamento do banco de dados.
  • Adicionar testes para helpers extraídos, validação, serviços e mudanças de repositório quando o comportamento mudar.

Direção de recursos

  • Calendário: manter FullCalendar apenas como UI, preservando barra de ferramentas, barras laterais, popups compactos, menus de contexto, painel de detalhes e modais próprios do app.
  • Tarefas: manter tarefas principais separadas de blocos de tarefa; blocos de tarefa continuam sendo registros locais de agendamento.
  • Provedores de tarefas: manter projetos/listas de provedores como metadados de provedor para sincronização/composição/filtragem da barra lateral. Espelhamento de projetos do Todoist em Projetos do Dainvo é apenas futuro.
  • Buckets: manter buckets independentes de Projetos e renderizá-los como itens de calendário kind: 'bucket'.
  • Configurações: estender as seções existentes do DaisyUI e persistência tipada de preferências em vez de adicionar controles ad hoc.
  • Documentos e Projetos: manter como planejamento futuro, a menos que sejam explicitamente escopados.

Endurecimento de versão

  • Manter pnpm lint, pnpm typecheck, pnpm test e pnpm build passando.
  • Manter testes de provedores mockados; testes automatizados não devem chamar serviços reais do Google, Microsoft, Apple Calendar, CalDAV, Todoist, TickTick, Zoom, Webex, Supabase ou Stripe.
  • Manter tokens OAuth, caminhos de banco de dados, payloads de provedores e dados brutos de sincronização fora do renderer e dos logs.
  • Adicionar notas de empacotamento, assinatura/notarização e QA de versão antes de uma versão desktop estável.