Sobre o projeto

AllisWell é uma aplicação de produtividade de código aberto e auto-hospedável que abrange tarefas, projetos, notas e lembretes, posicionada como alternativa gratuita ao Todoist, Things 3, TickTick, Apple Reminders e Notion. O cliente é uma única base de código Flutter voltada para iOS, Android, Web, macOS, Windows e Linux; o backend é um serviço Node.js/Fastify que usa MySQL (ou MariaDB) como armazenamento canônico, com Redis para filas e fan-out em tempo real e armazenamento de objetos compatível com S3 (Cloudflare R2 ou qualquer S3) para anexos. Principais recursos descritos no README: - Tarefas e projetos: as tarefas pertencem a projetos e carregam descrições, tags, subtarefas, cor e anexos; os badges de projeto acompanham as tarefas em todas as visualizações. Os projetos suportam cores, favoritos, arquivamento e abas de Tarefas/Notas/Arquivos por projeto. - Notas: um espaço de trabalho Markdown que renderiza Markdown no estilo GitHub (tabelas, listas de tarefas, notas de rodapé, callouts, matemática KaTeX, código com destaque de sintaxe, diagramas Mermaid), com visualizações de leitura, editor avançado e código-fonte. Arquivos .md externos podem ser abertos, editados e salvos de volta, com tratamento explícito de conflitos e sem salvamento automático silencioso. - Lembretes: tarefas urgentes usam entrega em nível de alarme, destinada a tocar mesmo no modo Silencioso e no Foco, realertando até serem confirmadas, e oferecem predefinições de soneca que informam o próximo horário de toque. Um log de alarmes registra interferências no nível do sistema operacional. - Recorrência: as regras incluem diária/semanal/mensal/anual, último dia do mês, enésimo dia da semana e deslocamentos, com pré-visualização dos "próximos 5" e doze meses de linhas de tarefas materializadas. Regras mensais se ajustam a meses curtos (por exemplo, o dia 31 vira 28 de fevereiro) em vez de pular. - Sincronização de calendário: a sincronização bidirecional com Google Calendar e Apple Calendar é descrita como sempre ativa, e não opcional. - Busca: busca local, insensível a maiúsculas/minúsculas e acentos, sobre a réplica no dispositivo, classificada por título, tag e corpo, funcionando offline. - Sincronização: arquitetura local-first com uma outbox de mutações, log de revisões, push idempotente, last-write-wins em nível de campo e um canal Socket.IO para atualizações entre dispositivos. - Arquivos: anexos em tarefas, notas e projetos, além de uma seção global de Arquivos com pastas aninháveis, armazenados via URLs pré-assinadas para que a API não faça proxy dos bytes. - Widgets: widgets de tela inicial para iPhone, iPad, Android e Mac que espelham os buckets da Home, com conclusão em um toque, escopo opcional por projeto, suporte à tela de bloqueio no iPhone e um relógio ao vivo. - Login: e-mail/senha, além de login opcional com Google e Apple, com contas ainda pertencentes ao banco de dados da própria instância. - IA opcional: provedores com chave própria (bring-your-own-key) e um conector MCP para Claude/ChatGPT são mencionados. - Localização: inglês e turco, com idiomas adicionais adicionados por meio de um arquivo JSON. Implantação: imagens Docker publicadas para a API e o aplicativo web (linux/amd64 e linux/arm64) permitem auto-hospedagem por meio de um arquivo docker-compose fornecido; a API cria e migra seu esquema na inicialização, e os dados ficam em volumes nomeados. O desenvolvimento exige Node.js 22+, Docker e Flutter 3.44+, com um script de seed de demonstração disponível. O README também declara limitações com franqueza: sem lembretes baseados em localização ou mensagens, sem convites/RSVPs/tratamento de free-busy (delegado ao provedor de calendário) e um modelo de workspace sem interface de compartilhamento. O licenciamento é PolyForm Noncommercial, gratuito para uso pessoal e auto-hospedagem.