Skip to content

Documentação da Comunidade

Índice

  1. Como Contribuir
  2. Reportar Problemas
  3. Solicitar Funcionalidades
  4. Contribuir com Código
  5. Estrutura de Contribuição
  6. Estilo de Código
  7. Estrutura de Commits
  8. Tecnologias Utilizadas
  9. Licença

Como Contribuir

Reportar Problemas

Se você encontrar um bug ou problema, por favor, abra uma issue no repositório com os seguintes detalhes:

  • Descrição clara e concisa do problema.
  • Passos para reproduzir o problema.
  • Comportamento esperado versus o comportamento real.
  • Capturas de tela ou logs, se aplicável.

Solicitar Funcionalidades

Se você tiver uma ideia para uma nova funcionalidade, abra uma issue no repositório com os seguintes detalhes:

  • Descrição da funcionalidade desejada.
  • Justificativa para a funcionalidade (por que ela é importante).
  • Especificações ou exemplos de como a funcionalidade deve funcionar.

Contribuir com Código

Se você deseja contribuir com código, siga os passos abaixo:

  1. Fork este repositório.
  2. Crie uma nova branch para sua funcionalidade/correção.
  3. Implemente suas alterações.
  4. Envie suas alterações e faça um pull request.

Estrutura de Contribuição

Estilo de Código

Mantenha o estilo de código consistente com o existente. Use as seguintes ferramentas para ajudar:

  • ESLint para verificação de código JavaScript.
  • Prettier para formatação de código.

Estrutura de Commits

  • feat: Adição de nova funcionalidade.
  • fix: Correção de bug.
  • docs: Alterações na documentação.
  • style: Alterações que não afetam a lógica do código (espaços em branco, formatação, etc.).
  • refactor: Refatoração de código que não adiciona nova funcionalidade nem corrige bugs.
  • test: Adição ou correção de testes.
  • chore: Tarefas de manutenção.

Tecnologias Utilizadas

Backend

  • Node.js: Ambiente de execução para JavaScript.
  • Express: Framework web para Node.js.
  • TypeScript: Superset de JavaScript que adiciona tipagem estática.
  • Prisma ORM: Abstração de banco de dados para consultas e migrações.
  • JWT: Autenticação e autorização baseada em tokens.
  • Bcrypt: Hashing de senhas.
  • Zod: Validação de esquemas de dados.
  • Winston: Biblioteca de logging.
  • Dotenv: Gerenciamento de variáveis de ambiente.

Frontend

  • Next.js: Framework React para desenvolvimento de aplicações web.
  • React: Biblioteca para construção de interfaces de usuário.
  • JavaScript: Linguagem de programação.
  • CSS: Linguagem de estilo para apresentação visual.
  • HTML: Linguagem de marcação para estrutura de páginas web.
  • Vercel: Plataforma de implantação projetada para otimizar e hospedar aplicações criadas com Nest.js.
  • Chart.js: Biblioteca JacaScript para criar gráficos interativos, com alta personalização e fácil integração com React.
  • Formik: Ferramenta para gerenciar formulários em React.
  • ⁠Axios: Biblioteca JavaScript para realizar requisições HTTP, para comunicar o front com o back sem complicações.

Ferramentas de Testes

  • Vitest: Testes unitários.
  • Jest: Testes de unidade.
  • Supertest: Testes de integração.
  • Cypress: Testes end-to-end.

Licença

Este projeto está sob a licença MIT. Consulte o arquivo LICENSE para mais detalhes.