O Checkit é um aplicativo web focado na execução de compras de supermercado. Diferente de aplicativos de notas tradicionais, ele foi desenhado para ser usado com apenas uma mão enquanto você empurra o carrinho, oferecendo uma transição fluida entre o planejamento em casa e a execução no mercado.
- 🔄 Dois Modos de Uso:
- Modo Edição: Planeje sua lista com calma, adicione itens manualmente ou use o catálogo de sugestões rápidas.
- Modo Lista (Shopping Mode): Interface limpa, com botões maiores e sem distrações. Ao marcar um item como "no carrinho", ele desce automaticamente para o final da lista.
- ⚡ Catálogo Inteligente com Auto-Incremento: Adicione itens comuns (como Frutas, Limpeza, Frios) com apenas um toque. O sistema entende a unidade métrica e incrementa de forma inteligente (ex: +1 UND, +0.5 KG, +100 G).
- 📱 Design "Thumb-Friendly": Interface totalmente otimizada para uso no celular, com paleta de cores "Dark Slate" de alto contraste para reduzir a fadiga visual dentro do supermercado.
- 🔗 Compartilhamento Stateless & Offline:
- Salva automaticamente no
localStoragedo dispositivo. - Compartilhe a lista completa instantaneamente através de um Link (Base64) gerado na própria URL.
- Exporte o resumo organizado para o WhatsApp.
- Salva automaticamente no
Este projeto foi construído seguindo rigorosamente os princípios de Clean Code, Clean Architecture e Object Calisthenics. A lógica de negócios é 100% isolada da camada de interface (Vue).
- Frontend: Vue 3 (Composition API) + Vite
- Estilização: Tailwind CSS (com utilitários modernos e design system customizado)
- Linguagem: TypeScript (Tipagem estrita para garantir a integridade do catálogo e da lista)
- Testes: Vitest (Testes unitários focados na camada de Domínio)
- Domain-Driven Design (DDD): Lógica de ordenação, incremento métrico e geração de relatórios isolados em
src/domain/Checklist.tsesrc/domain/ShoppingCatalog.ts.
- Node.js (v18+)
- npm ou pnpm
# Instalar dependências
npm install
# Rodar em modo de desenvolvimento
npm run dev
# Executar testes unitários do domínio
npm run test
# Build otimizado para produção
npm run buildA inteligência central do aplicativo (ordenação dinâmica por status e data de criação, formatação de saída) está coberta por testes automatizados para evitar regressões. Para rodar a suíte de testes do Vitest:
npm run testContribuições são bem-vindas! Se você encontrar algum problema ou tiver sugestões para melhorar a aplicação, sinta-se à vontade para abrir uma issue ou enviar um pull request.
Se você gostou do meu trabalho e quer me agradecer, você pode me pagar um café :)
Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter mais informações.
