O DevUtils é um site de utilidades criado para desenvolvedores, focado em fornecer ferramentas práticas que facilitam a criação de dados de teste e a manipulação de strings. O objetivo principal é agilizar o desenvolvimento, oferecendo uma plataforma para gerar rapidamente dados válidos e realizar diversas operações com strings, como conversão e formatação.
O projeto tem como finalidade fornecer uma série de ferramentas que auxiliam os desenvolvedores em tarefas recorrentes e cotidianas, como:
- Gerar dados de teste válidos (nome, email, telefone, etc.).
- Manipuladores e conversores de strings.
- Sites para ícones, APIs, etc.
- Outras utilidades que facilitam o desenvolvimento de sistemas.
O projeto foi desenvolvido utilizando as seguintes tecnologias e frameworks:
- React: Biblioteca JavaScript para construção da interface do usuário.
- TypeScript: Superconjunto de JavaScript que adiciona tipagem estática ao código.
- HTML: Linguagem de marcação para estruturar o conteúdo da aplicação.
- SCSS: Uma extensão de CSS que oferece recursos adicionais como variáveis e mixins, facilitando o design responsivo.
- Vite: Ferramenta de build rápida para projetos React, utilizada para desenvolvimento e empacotamento.
- Jest: Framework de testes unitários para garantir a funcionalidade e a qualidade do código.
- ShadCN: Design system e biblioteca de componentes para React que segue os princípios de acessibilidade e usabilidade.
- Faker: Biblioteca para gerar dados falsos (mas realistas) para testes e desenvolvimento.
- Firebase Firestore: Firebase Firestore é um banco de dados de documentos NoSQL que permite aos usuários armazenar, sincronizar e consultar dados para seus aplicativos.
Este projeto foi inspirado em sites que fornecem ferramentas semelhantes:
Permite a criação de dados aleatórios e válidos para uso em testes de software, como:
- Nomes completos
- Endereço
Oferece utilidades para manipulação de strings, como:
- Conversão entre maiúsculas e minúsculas.
- Remoção de acentos.
- Substituição de caracteres específicos.
Ferramentas para conversão de formatos de string, como:
- Converte String em Hexadecimal e vice-versa.
O projeto segue uma arquitetura baseada em componentes, onde cada funcionalidade é encapsulada em um componente React. As rotas são gerenciadas pelo React Router para permitir navegação entre as diferentes utilidades.
A estrutura de pastas do projeto está organizada da seguinte forma:
/devutils
├── /node_modules
├── /public
├── /src
│ ├── /components # Componentes reutilizáveis da aplicação
│ ├── /pages # Páginas principais que representam cada utilidade
│ ├── /services # Lógica de manipulação de dados e APIs
│ ├── /styles # Arquivos SCSS para estilização
│ │ ├── _variables.scss # Variáveis globais de estilo
│ │ └── global.scss # Estilos globais
│ ├── /tests # Testes unitários com Jest
│ ├── /utils # Funções utilitárias para operações de string e dados
│ ├── App.tsx # Componente principal
│ ├── main.tsx # Ponto de entrada da aplicação
│ └── setupTests.ts # Configurações globais de testes
├── jest.config.js # Configuração do Jest
├── tsconfig.json # Configuração do TypeScript
├── package.json # Dependências e scripts do projeto
└── vite.config.ts # Configuração do Vite
Certifique-se de ter o Node.js e o npm instalados em seu ambiente. Caso não tenha, faça o download das versões mais recentes em nodejs.org.
Clone o repositório:
git clone https://github.com/ythiago03/devutils.git
Acesse o diretório do projeto:
cd devutils
Instale as dependências:
npm install
Inicie o servidor de desenvolvimento:
npm run dev
Abra o navegador e acesse http://localhost:3000 para visualizar a aplicação.
- npm run dev: Inicia o servidor de desenvolvimento.
- npm run build: Gera a versão otimizada para produção.
- npm test: Executa os testes unitários com Jest.
O projeto está configurado para testes unitários utilizando o Jest e o Testing Library. Para rodar os testes, utilize o comando:
npm run test
O projeto utiliza SCSS para gerenciar os estilos de maneira modular. No diretório src/styles, você pode encontrar os arquivos de estilo principais:
- global.scss: Arquivo para os estilos globais da aplicação.
- _variables.scss: Definição de variáveis reutilizáveis (como cores, tamanhos de fonte, etc.).
Contribuições são bem-vindas! Caso queira colaborar com o projeto, siga estas etapas:
Faça um fork do repositório. Crie uma branch com sua feature:
git checkout -b minha-feature
Faça o commit das suas alterações:
git commit -m 'Adiciona nova funcionalidade'
Envie para o repositório remoto:
git push origin minha-feature
Abra um Pull Request para revisão.
Este projeto está licenciado sob a licença MIT. Para mais detalhes, consulte o arquivo LICENSE.