https://github.com/ythiago03/devutils
DevUtils is a utility website created for developers, focused on providing practical tools that simplify test data generation and string manipulation. The main goal is to speed up development by offering a platform to quickly generate valid data and perform various string operations, such as conversion and formatting.
https://github.com/ythiago03/devutils
firebase-firestore html in-progress react scss shadcn-ui tailwind-css typescript
Last synced: 5 months ago
JSON representation
DevUtils is a utility website created for developers, focused on providing practical tools that simplify test data generation and string manipulation. The main goal is to speed up development by offering a platform to quickly generate valid data and perform various string operations, such as conversion and formatting.
- Host: GitHub
- URL: https://github.com/ythiago03/devutils
- Owner: ythiago03
- License: mit
- Created: 2024-09-17T22:55:16.000Z (almost 2 years ago)
- Default Branch: main
- Last Pushed: 2025-03-06T22:12:24.000Z (over 1 year ago)
- Last Synced: 2025-04-05T17:46:24.438Z (about 1 year ago)
- Topics: firebase-firestore, html, in-progress, react, scss, shadcn-ui, tailwind-css, typescript
- Language: TypeScript
- Homepage: https://devutils-th.vercel.app
- Size: 291 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# DevUtils
## 1. Descrição Geral
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.
### 1.1 Objetivo
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.
### 1.2 Tecnologias Utilizadas
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.
### 1.3 Inspirações
Este projeto foi inspirado em sites que fornecem ferramentas semelhantes:
- [Text Mateus F](https://text.mateusf.com)
- [4Devs](https://www.4devs.com.br)
- [RandomUser](https://randomuser.me/)
- [PublicAPIs](https://publicapis.dev/)
## 2. Funcionalidades Principais
### 2.1 Gerador de Dados
Permite a criação de dados aleatórios e válidos para uso em testes de software, como:
- **Nomes completos**
- **Email**
- **Endereço**
### 2.2 Manipuladores de String
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.
### 2.3 Conversores de String
Ferramentas para conversão de formatos de string, como:
- Converte String em Hexadecimal e vice-versa.
## 3. Estrutura do Projeto
### 3.1 Arquitetura
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.
### 3.2 Organização dos Arquivos
A estrutura de pastas do projeto está organizada da seguinte forma:
```plaintext
/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
```
## 4. Configuração do Ambiente
### 4.1 Pré-requisitos
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](https://nodejs.org).
### 4.2 Passos para Clonar e Executar o Projeto
Clone o repositório:
```bash
git clone https://github.com/ythiago03/devutils.git
```
Acesse o diretório do projeto:
```bash
cd devutils
```
Instale as dependências:
```bash
npm install
```
Inicie o servidor de desenvolvimento:
```bash
npm run dev
```
Abra o navegador e acesse [http://localhost:3000](http://localhost:3000) para visualizar a aplicação.
### 4.3 Scripts Disponíveis
- **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.
## 5. Testes
O projeto está configurado para testes unitários utilizando o Jest e o Testing Library. Para rodar os testes, utilize o comando:
```bash
npm run test
```
## 6. Estilos
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.).
## 7. Contribuição
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:
```bash
git checkout -b minha-feature
```
Faça o commit das suas alterações:
```bash
git commit -m 'Adiciona nova funcionalidade'
```
Envie para o repositório remoto:
```bash
git push origin minha-feature
```
Abra um Pull Request para revisão.
## 8. Licença
Este projeto está licenciado sob a licença MIT. Para mais detalhes, consulte o arquivo LICENSE.