Manual completo e local-first

Seu tempo, sob seu controle.

Do primeiro npm install ao backup de anos de planejamento: este guia explica como instalar, usar, proteger e manter o Rics Time-blocking sem surpresas.

Rics Time-blocking
PlanejamentoRelatórios
PTEN
SEG 18TER 19QUA 20QUI 21SEX 22
Revisar proposta
09:00–10:30
Planejar entrega
14:00–16:00

Tarefas

Revisar proposta
Planejar entrega
Preparar reunião
Responder clientes
Planeje visualmente. Os dados permanecem no seu dispositivo.
Antes de começar

Quatro ideias que evitam quase todo problema.

O app é deliberadamente simples: tarefas viram blocos de tempo, tudo fica local e o arquivo de backup é a ponte entre navegadores e dispositivos.

01

Local-first não significa “sincronizado”.

Não há conta nem servidor central. Chrome, Edge, Firefox, outro perfil, janela privada e outra origem podem enxergar bancos diferentes. O app não envia seus dados automaticamente para nenhum outro lugar.

02

A tarefa é reutilizável.

Arrastar uma tarefa cria um bloco de 30 minutos, mas não a remove da lista. Agende a mesma tarefa quantas vezes precisar.

03

Histórico é preservado.

Excluir uma tarefa remove somente seus blocos futuros. Blocos que já começaram permanecem para histórico e relatórios.

04

Backup é sua portabilidade.

O JSON versionado transporta tarefas, blocos, projetos e preferências. Tokens de Fizzy e Trello ficam de fora por segurança.

05

Offline depois da primeira carga.

A PWA armazena os arquivos do app. Planejamento e relatórios continuam offline; sincronizações externas exigem conexão.

Da pasta ao navegador

Baixar, executar e instalar.

Há duas instalações diferentes: executar o projeto localmente e, depois, opcionalmente instalar a versão PWA pelo navegador.

Execução rápida para desenvolvimento

Pré-requisitos: Node.js 18 ou mais recente, npm e Git.

git clone https://github.com/rics/rics-time-blocking.gitbaixar
cd rics-time-blockingentrar
npm installdependências
npm run deviniciar

Sem Git

No GitHub, use Code → Download ZIP, extraia o arquivo, abra o terminal na pasta e execute npm install e npm run dev.

Abra o endereço mostrado pelo terminal, normalmente http://localhost:5173. Mantenha o terminal aberto enquanto estiver usando essa sessão.

01 / testar

Crie e confira a versão de produção

Execute npm run build. O resultado vai para dist. Use npm run preview para testá-lo em um servidor local; não abra dist/index.html diretamente.

02 / instalar

Instale como aplicativo

Abra o app em um navegador compatível. No Chrome ou Edge, procure o ícone de instalação na barra de endereço ou a opção “Instalar aplicativo” no menu. Confirme para criar um atalho e abrir em janela própria. O texto do menu pode variar conforme o navegador.

03 / offline

Espere a primeira carga terminar

A primeira visita precisa de rede para baixar os arquivos. Quando o aviso “pronto para uso offline” aparecer, tarefas, calendário, configurações e relatórios poderão funcionar sem conexão. Fizzy e Trello continuam dependendo da internet.

Durante o desenvolvimento, não troque a porta sem fazer backup.

localhost:5173 e localhost:4173 são origens diferentes e, portanto, têm bancos IndexedDB diferentes. Seus dados não sumiram: você apenas abriu outro banco.

Rotina de planejamento

Da tarefa ao tempo reservado.

O fluxo principal foi desenhado para ser repetido: criar, arrastar, ajustar e reutilizar.

A barra superior organiza todas as telas.

A marca fica à esquerda, Planejamento e Relatórios ao centro, e o seletor PT/EN com a engrenagem de Configurações à direita. O idioma escolhido também vale para o calendário, mensagens, CSV e PDF.

01Crie tarefas

Na aba Tarefas, clique em +, digite apenas o título e escolha “Salvar e adicionar outra” ou “Salvar e sair”. Títulos vazios e duplicados, ignorando maiúsculas/minúsculas, são recusados. Use a busca para filtrar a lista.

02Reserve um horário

Arraste a tarefa para o calendário. Um bloco de 30 minutos é criado no horário apontado; na visão mensal, ele começa às 09:00. A tarefa continua na lista e pode ser arrastada novamente.

03Ajuste o bloco

Arraste o bloco para mudar dia ou horário e arraste sua borda para alterar a duração. Clique no bloco para associar um projeto ou remover somente aquela ocorrência.

04Escolha a visão

Alterne entre mensal, semanal, diária, 2 semanas e 3 semanas. Use “Hoje” e as setas para navegar. “Fim de semana estreito” comprime sábado e domingo; “Ocultar fim de semana” remove ambos das visões compatíveis. Suas escolhas são lembradas.

05Entenda as exclusões

  • Remover um bloco apaga apenas aquela ocorrência.
  • Remover uma tarefa apaga a tarefa e seus blocos futuros.
  • Blocos cujo início já passou ficam como histórico.
  • Recolher a barra lateral só muda o layout, não os dados.
Organizar e analisar

Projetos, cores e relatórios.

Projetos dão contexto às tarefas. Relatórios transformam blocos em horas consolidadas ou linhas detalhadas.

Projetos

Abra a aba Projetos, clique em +, escolha nome e cor. Clique em uma tarefa ou bloco para vinculá-lo. Ao trocar o projeto da tarefa, todos os blocos ligados a ela recebem o novo projeto.

Excluir um projeto não apaga tarefas nem blocos: eles ficam “Sem projeto”.

Relatórios

Em Relatórios, informe data inicial e final, marque um ou mais projetos — incluindo “Sem projeto” quando necessário — e escolha o formato.

  • Agrupado: soma as horas de cada tarefa.
  • Detalhado: mostra data, início, fim e duração de cada período.
  • Exportação: baixe CSV para planilhas ou PDF para compartilhar.

O resultado do relatório é temporário.

A tabela exibida só existe enquanto a tela está aberta. Os blocos que a originaram continuam no banco. Exporte CSV ou PDF se precisar guardar o relatório pronto.

Fontes opcionais

Fizzy e Trello, sem perder o controle local.

As conexões só importam tarefas abertas. O calendário e os blocos continuam pertencendo ao Rics Time-blocking.

Conectar ao Fizzy

Em Configurações → Aplicativos conectados, escolha Fizzy, cole um token pessoal somente de leitura, verifique, selecione a conta e use “Salvar e sincronizar”.

Conectar ao Trello

Informe a API Key e um token de leitura, verifique o acesso, selecione os quadros e marque as listas que significam trabalho concluído. Cards abertos das demais listas entram como tarefas.

O que a sincronização faz

  • Adiciona cards novos e atualiza títulos ou metadados alterados.
  • Remove da lista local cards fechados ou removidos na origem.
  • Remove blocos futuros desses cards, mas preserva blocos já iniciados.
  • O botão Sync atualiza todas as conexões configuradas.

Privacidade

Tokens e chaves ficam na store local integrations. Eles não entram no JSON de backup. Ao migrar para outro navegador, conecte novamente.

Por dentro do armazenamento

Um banco para cada origem, perfil e navegador.

O app usa IndexedDB por meio do Dexie. Não existe uma segunda cópia em localStorage nem um backend escondido.

ricsTimeBlocking, esquema atual v3

IDs do banco são numéricos e auto-incrementais. Datas ficam como strings ISO. taskId é a relação durável entre tarefa e bloco.

tasks id, title projectId source, externalKey createdAt
events id, taskId start, end projectId calendarId
projects id, name color createdAt
settings key value view, sidebar weekends
integrations id accessToken configuração updatedAt

Trocar de navegador parece uma instalação vazia — porque é.

O IndexedDB é isolado por navegador, perfil e origem (protocolo + domínio + porta). Chrome não enxerga o banco do Firefox; um perfil de trabalho não enxerga o pessoal; HTTP não enxerga HTTPS; outra porta local cria outra origem. Modo privado costuma apagar os dados ao encerrar a sessão.

origem

O endereço faz parte da identidade do banco

Use sempre a mesma URL para acessar os mesmos dados. Em produção, migrar de domínio ou subdomínio exige exportar no endereço antigo e importar no novo.

navegador

Limpar dados do site também limpa o banco

“Limpar cookies e dados do site”, redefinir o perfil ou desinstalar o navegador com remoção de dados pode apagar o IndexedDB. Excluir apenas cache de arquivos nem sempre apaga o banco, mas faça backup antes de qualquer limpeza ampla.

migração

Mudanças de esquema são versionadas

O app migra o banco legado blocoCalendar para ricsTimeBlocking quando possível e registra a migração. Não interrompa a primeira abertura após uma atualização.

Sua rede de segurança

Backup portátil, legível e versionado.

O formato atual é rics-time-blocking-backup, versão 4. O app também reconhece versões anteriores compatíveis e valida tudo antes da transação de escrita.

1. Exportar Configurações → Backup do sistema → Exportar backup.
2. Guardar Mantenha cópias datadas em outro disco ou nuvem confiável.
3. Testar Importe em outro perfil e confirme tarefas, projetos e blocos.
Conteúdo Entra no backup? Motivo
Tarefas e blocos Sim São o núcleo do planejamento e do histórico.
Projetos e cores Sim Preservam a organização e os relatórios.
Preferências Sim Restauram visão, barra lateral e fins de semana.
Tokens Fizzy/Trello Não Credenciais permanecem apenas no navegador de origem.
Relatórios exportados Não CSV e PDF são arquivos derivados, salvos separadamente.

Importar: Mesclar

Registros com o mesmo ID são atualizados; os outros dados existentes são preservados. É útil para trazer uma cópia para uma base em uso, mas IDs iguais representam o mesmo registro e podem sobrescrever conteúdo.

Importar: Substituir

Apaga tarefas, blocos, projetos e preferências atuais antes de importar o arquivo. As conexões e credenciais de integrações permanecem locais, porque não fazem parte do backup nem da substituição.

Ritmo recomendado

Exporte semanalmente se usa o app todos os dias e sempre antes de trocar de navegador, perfil, computador, domínio ou porta; limpar dados do site; importar em modo Substituir; limpar histórico; zerar o banco; ou instalar uma grande atualização. Mantenha pelo menos uma cópia fora do dispositivo atual.

Manutenção consciente

Limpe por evidência, não por ansiedade.

IndexedDB lida bem com milhares de registros e o calendário busca somente o intervalo visível com uma margem. Não há obrigação de “limpar todo mês”.

Saudável

Navegação e relatórios respondem bem, o uso estimado é confortável e o histórico ainda tem valor. Não faça nada além de backups regulares.

Observe

Anos de blocos, relatórios amplos mais lentos ou armazenamento crescendo. Exporte um backup e considere arquivar períodos antigos.

Intervenha

Lentidão repetível, falhas por quota ou dezenas de milhares de blocos sem utilidade prática. Limpe histórico por data, nunca o banco inteiro como primeira tentativa.

01 / medir

Abra Configurações → Armazenamento local

Confira tarefas, blocos, datas mais antiga e recente e o uso estimado do site. A estimativa pode incluir outros dados da mesma origem e pode não estar disponível em todos os navegadores.

02 / proteger

Exporte um backup antes da limpeza

O próprio diálogo “Gerenciar histórico” oferece esse botão. Guarde o JSON fora da pasta de downloads temporários.

03 / escolher

Defina a data de corte

Use “Manter 6 meses”, “Manter 1 ano”, “Manter 2 anos” ou uma data manual. A prévia mostra quantos blocos serão elegíveis.

04 / confirmar

Leia, marque e exclua

Somente blocos com término anterior à data são apagados. Tarefas, projetos, preferências, conexões e blocos posteriores permanecem. Relatórios do período removido só voltarão se o backup for restaurado.

Recomeço total

Como zerar o banco com segurança.

Redefinir é diferente de limpar histórico. Use apenas quando realmente quiser uma instalação vazia neste navegador.

A ação é irreversível sem um backup.

Ela remove tarefas, todos os blocos, projetos, preferências e conexões deste navegador. O app recarrega com um banco novo.

01

Exporte e confira o arquivo

Gere o JSON em Configurações → Backup do sistema. Confirme que o download existe e tem uma data coerente.

02

Abra a zona de perigo

Em Configurações → Redefinir banco de dados, clique em “Apagar todos os dados”.

03

Confirme conscientemente

Leia o resumo e clique em “Sim, apagar tudo”. O banco legado também é removido, evitando que dados antigos reapareçam.

04

Restaurar, se necessário

Use “Importar backup” e escolha “Substituir”. Depois reconecte Fizzy e Trello, pois credenciais não estavam no arquivo.

Dúvidas rápidas

Quando algo parece ter sumido.

Na maioria das vezes, o app abriu outro contexto de armazenamento — não ocorreu uma exclusão misteriosa.

Troquei de navegador e minhas tarefas não aparecem. O que aconteceu?

Cada navegador mantém seu próprio IndexedDB. Volte ao navegador antigo, exporte o backup e importe no novo.

Usei outra porta local e apareceu um calendário vazio.

A porta faz parte da origem. Abra a porta anterior ou faça exportação/importação entre as duas origens.

Excluir uma tarefa apaga meu histórico?

Não. Blocos cujo início já passou ficam no histórico. Somente os blocos futuros ligados à tarefa são removidos.

O backup leva meus tokens?

Não. Credenciais do Fizzy e Trello permanecem apenas no navegador e devem ser configuradas novamente no destino.

Preciso limpar o banco regularmente?

Não por calendário. Limpe quando houver volume histórico sem valor, lentidão reproduzível ou pressão de armazenamento — sempre após exportar um backup.

O app funciona totalmente offline?

Planejamento, dados locais e relatórios funcionam depois da primeira carga e do cache da PWA. Sincronizações com Fizzy e Trello exigem rede.