# 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: ``` ():