Skip to content

TaskFlow v1.0.0

Latest

Choose a tag to compare

@b3bel23 b3bel23 released this 21 Sep 20:12

App: https://b3bel23.github.io/taskflow/ · Requisitos: REQUIREMENTS.md · Licença: MIT

TaskFlow é um organizador semanal de tarefas pessoais que roda 100% no navegador: hoje e os 6 dias seguintes lado a lado, com horário, prioridade e estado por tarefa. Sem cadastro, sem servidor.

O que a v1.0.0 entrega

  • Janela de 7 dias ancorada em hoje, que avança sozinha na virada do dia, mesmo com a aba aberta.
  • Rollover automático: tarefas não concluídas de dias passados voltam para hoje; as concluídas ficam onde estão.
  • Criar, editar e excluir tarefas (a exclusão pede confirmação), com horário opcional e prioridade opcional.
  • Ordem por horário dentro do dia (sem horário primeiro); a prioridade é só um rótulo visual, clicável para ciclar.
  • Estado de progresso (Pendente, Em andamento, Concluída) pelo indicador do cartão; concluídas ficam riscadas e esmaecidas.
  • Arrastar e soltar um cartão para outro dia, com mouse ou pelo teclado.
  • Persistência local com migração automática do formato antigo (por dia da semana) para datas reais, sem perda de tarefas.
  • Tema claro/escuro, persistente. Layout responsivo (7 colunas, 4 em tablet, 1 no celular).
  • Várias abas se mantêm sincronizadas.

Qualidade

  • Cerca de 400 testes unitários e 60 testes E2E em Chrome real (fusos e horário de verão, virada de dia, virada de mês/ano e ano bissexto, dados corrompidos, falhas de escrita, duas abas, arraste).
  • O deploy no GitHub Pages só acontece se testes unitários, build e E2E passarem (validado no GitHub Actions: o primeiro run com falha bloqueou o deploy e o run seguinte, verde, publicou).
  • Regras de arquitetura (só a camada de storage acessa localStorage, só um módulo escreve o tema) são verificadas por teste.

Corrigido durante o endurecimento para a v1.0

  • Arraste por teclado entre dias não funcionava: as setas nunca moviam o cartão. Corrigido, com teste em navegador real (desktop e celular).
  • Duas abas se sobrescreviam sem aviso; agora acompanham uma à outra.
  • Um horário fora de HH:mm podia ser gravado e depois fazer o app descartar todas as tarefas; agora é recusado na escrita.
  • Criar tarefa falhava fora de contexto seguro (http por IP da rede); agora usa um gerador de id alternativo.
  • Rollover e janela: corrigidos casos de order repetido, data passada salva por um modal aberto na virada do dia e falha de escrita silenciosa.

Limitações conhecidas

  • Os dados ficam só no navegador e no computador onde foram criados; não há sincronização entre dispositivos nem backup. O app avisa isso na tela.
  • Não há desfazer.
  • Os anúncios de leitor de tela do arraste usam o texto padrão da biblioteca (em inglês).
  • Ainda não verificado em aparelho real: arraste por toque num celular e uso com leitor de tela.

Atualizando

Quem já usava o app não precisa fazer nada: os dados salvos no formato antigo são migrados sozinhos na primeira abertura.