Skip to content

luizhanauer/listflow

Repository files navigation

ListFlow 📋

O ListFlow é uma ferramenta de transformação de dados focada no processamento de listas. Ele permite remover itens duplicados, ordenar o conteúdo de forma alfanumérica inteligente e aplicar sufixos ou prefixos em lote, tudo renderizado em tempo real.

🚀 Tecnologias

  • Vue 3 (Composition API & Reatividade em Tempo Real)
  • TypeScript (Tipagem Estática e Segurança)
  • Tailwind CSS v4 (Interface Moderna com Tema Emerald)
  • Vite (Next Generation Frontend Tooling)
  • Vitest (Unit Testing)

🏗️ Arquitetura e Boas Práticas

O ListFlow foi refatorado aplicando rigorosos princípios de engenharia de software para garantir escalabilidade e fácil manutenção:

  • Domain-Driven Design (DDD): A inteligência de ordenação, remoção de duplicatas e aplicação de afixos reside estritamente na classe ListProcessor, mantendo a camada de UI limpa e isolada.
  • Object Calisthenics: Código escrito sem o uso de else, com validações diretas e métodos curtos.
  • Performance: Substituição da antiga dependência clipboard.js pela API nativa navigator.clipboard. A ordenação usa localeCompare com suporte numérico para uma experiência humana natural (1, 2, 10).
  • Testabilidade: Cobertura de testes unitários com Vitest blindando as regras de manipulação de arrays e strings.

📦 Instalação e Execução

Para rodar o projeto localmente, siga os passos abaixo:

  1. Clone o repositório:
git clone https://github.com/luizhanauer/listflow.git
  1. Acesse a pasta do projeto:
cd listflow
  1. Instale as dependências:
npm install
  1. Execute o servidor de desenvolvimento:
npm run dev

🧪 Como rodar os testes

A camada de domínio possui uma suíte de testes unitários para validar a transformação dos dados. Para executá-los, rode:

npm run test

Contribuição

Contribuiçõ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é :)

Buy Me A Coffee

Licença

Este projeto está licenciado sob a Licença MIT. Consulte o arquivo LICENSE para obter mais informações.

About

📋 Ferramenta reativa para processamento e limpeza de listas. Remova duplicatas, ordene e adicione afixos em tempo real. Feito com Vue 3 e Clean Arch.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors