push da documentacao da api
This commit is contained in:
141
CONTRIBUTING.md
Normal file
141
CONTRIBUTING.md
Normal file
@@ -0,0 +1,141 @@
|
||||
# Guia de Contribuição
|
||||
|
||||
Obrigado por considerar contribuir para o Portal Juru API! Este documento fornece um conjunto de diretrizes para contribuir com o projeto.
|
||||
|
||||
## Como Contribuir
|
||||
|
||||
1. Faça um fork do projeto
|
||||
2. Crie uma branch para sua feature (`git checkout -b feature/AmazingFeature`)
|
||||
3. Commit suas mudanças (`git commit -m 'Add some AmazingFeature'`)
|
||||
4. Push para a branch (`git push origin feature/AmazingFeature`)
|
||||
5. Abra um Pull Request
|
||||
|
||||
## Padrões de Código
|
||||
|
||||
### TypeScript/JavaScript
|
||||
|
||||
- Use TypeScript para todo o código
|
||||
- Siga o [style guide oficial do TypeScript](https://www.typescriptlang.org/docs/handbook/declaration-files/by-example.html)
|
||||
- Use ESLint e Prettier para formatação
|
||||
- Mantenha o código limpo e bem documentado
|
||||
|
||||
### NestJS
|
||||
|
||||
- Siga as [melhores práticas do NestJS](https://docs.nestjs.com/recipes/prisma)
|
||||
- Use decorators apropriadamente
|
||||
- Mantenha os módulos bem organizados
|
||||
- Use DTOs para validação de dados
|
||||
|
||||
### Banco de Dados
|
||||
|
||||
- Use TypeORM para todas as operações de banco de dados
|
||||
- Mantenha as queries SQL otimizadas
|
||||
- Use transações quando necessário
|
||||
- Documente as queries complexas
|
||||
|
||||
## Estrutura do Projeto
|
||||
|
||||
```
|
||||
src/
|
||||
├── core/ # Configurações e utilitários core
|
||||
│ ├── configs/ # Configurações do projeto
|
||||
│ ├── database/ # Configuração do banco de dados
|
||||
│ └── constants/ # Constantes do sistema
|
||||
├── data-consult/ # Módulo de consulta de dados
|
||||
│ ├── dto/ # Data Transfer Objects
|
||||
│ ├── controllers/ # Controladores
|
||||
│ └── services/ # Serviços
|
||||
├── orders-payment/ # Módulo de pedidos e pagamentos
|
||||
│ ├── dto/ # Data Transfer Objects
|
||||
│ ├── controllers/ # Controladores
|
||||
│ └── services/ # Serviços
|
||||
└── orders/ # Módulo de pedidos
|
||||
├── modules/ # Módulos
|
||||
├── controllers/ # Controladores
|
||||
├── services/ # Serviços
|
||||
└── repositories/ # Repositórios
|
||||
```
|
||||
|
||||
## Convenções de Commits
|
||||
|
||||
Use o seguinte formato para commits:
|
||||
|
||||
```
|
||||
<type>(<scope>): <subject>
|
||||
|
||||
<body>
|
||||
|
||||
<footer>
|
||||
```
|
||||
|
||||
Tipos de commit:
|
||||
- `feat`: Nova feature
|
||||
- `fix`: Correção de bug
|
||||
- `docs`: Mudanças na documentação
|
||||
- `style`: Formatação, ponto e vírgula, etc.
|
||||
- `refactor`: Refatoração de código
|
||||
- `test`: Adição ou correção de testes
|
||||
- `chore`: Atualização de tarefas, configuração, etc.
|
||||
|
||||
Exemplo:
|
||||
```
|
||||
feat(orders): adiciona endpoint para criar pedidos
|
||||
|
||||
- Implementa validação de dados
|
||||
- Adiciona testes unitários
|
||||
- Atualiza documentação
|
||||
|
||||
Closes #123
|
||||
```
|
||||
|
||||
## Testes
|
||||
|
||||
- Mantenha a cobertura de testes acima de 80%
|
||||
- Use Jest para testes
|
||||
- Escreva testes unitários e de integração
|
||||
- Execute todos os testes antes de submeter um PR
|
||||
|
||||
```bash
|
||||
# Executar testes
|
||||
npm run test
|
||||
|
||||
# Executar testes com cobertura
|
||||
npm run test:cov
|
||||
```
|
||||
|
||||
## Documentação
|
||||
|
||||
- Mantenha a documentação atualizada
|
||||
- Use Swagger para documentação da API
|
||||
- Documente todas as novas features
|
||||
- Atualize o README quando necessário
|
||||
|
||||
## Pull Requests
|
||||
|
||||
1. Descreva claramente as mudanças
|
||||
2. Inclua exemplos de uso quando relevante
|
||||
3. Atualize a documentação
|
||||
4. Certifique-se que todos os testes passam
|
||||
5. Solicite revisão de pelo menos um mantenedor
|
||||
|
||||
## Issues
|
||||
|
||||
- Use o template apropriado
|
||||
- Forneça informações detalhadas
|
||||
- Inclua exemplos de reprodução quando possível
|
||||
- Use labels apropriadas
|
||||
|
||||
## Código de Conduta
|
||||
|
||||
- Seja respeitoso
|
||||
- Mantenha discussões construtivas
|
||||
- Aceite críticas construtivas
|
||||
- Ajude outros contribuidores
|
||||
|
||||
## Suporte
|
||||
|
||||
Se você tiver dúvidas ou precisar de ajuda:
|
||||
- Abra uma issue
|
||||
- Entre em contato com os mantenedores
|
||||
- Consulte a documentação
|
||||
|
||||
Reference in New Issue
Block a user