Guia de contribuidores: problemas e PRs

Obrigado por seu interesse em melhorar este projeto. Este projeto é de código aberto sob a GPL-3. licença. e saúda contribuições na forma de relatórios de bugs, solicitações de funcionalidades e pull requests.

Aqui está uma lista de recursos importantes para os contribuidores:

Como relatar um bug

Relate erros no Issue Tracker.

Ao arquivar um problema, certifique-se de responder estas questões:

  • Qual sistema operacional e versão do Python você está usando?

  • Qual versão deste projeto você está usando?

  • O que você fez?

  • O que você esperava ver?

  • O que você viu em vez disso?

A melhor maneira de corrigir seu bug é fornecer um caso de teste, e/ou etapas para reproduzir o problema.

Como solicitar um recurso

Recursos que melhoram o AMRnet podem ser sugeridos no Issue Tracker. É uma boa ideia primeiro enviar a proposta como um pedido de recurso antes de enviar um pull request, pois isso permite a melhor coordenação de esforços, evitando a duplicação de trabalho. e permite comentários sobre suas ideias.

Guia de Contribuição: Pesquisa e Desenvolvimento

Obrigado pelo seu interesse em contribuir para AMRnet! 🎉 Saudamos as contribuições de pesquisadores, desenvolvedores e profissionais de saúde pública em todo o mundo. Este projeto tem código aberto sob a licença GPL-3.0 e saúda as contribuições na forma de relatórios de bugs, solicitações de recursos e pull requests.

Aqui está uma lista de recursos importantes para os contribuidores:

Início rápido

Pronto para contribuir? Veja como configurar AMRnet para o desenvolvimento local:

  1. Bifurque o repositório no GitHub

  2. Clonar o seu fork localmente

  3. Crie uma branch de função para suas alterações

  4. Faça suas alterações e teste-as

  5. Enviar um pull request

Tipos de contribuições

Relatórios de erros

Ajude-nos a melhorar relatando erros usando nosso Issue Tracker.

Antes de relatar um bug: - Procure issues existentes para evitar duplicados - Teste com a versão mais recente - Verifique se o problema ocorre em navegadores diferentes

Ao exibir um relatório de bug, por favor, inclua: - Qual sistema operacional e navegador você está utilizando - Qual versão da AMRnet você está utilizando - Passos para reproduzir o problema - o que você esperava que acontecesse - O que realmente aconteceu - Screenshots se aplicável

Solicitações de recursos

Congratulamo-nos com sugestões de recursos que melhoram a funcionalidade do AMRnet na supervisão AMR.

Os bons pedidos de funcionalidades incluem: - Descrição clara do problema que está sendo resolvido - casos específicos de uso da saúde pública ou perspectivas de pesquisa - consideração de diferentes tipos de usuário (pesquisadores, decisores políticos, etc.)

Melhorias de Documentação

As melhorias de documentação são sempre bem-vindas, incluindo: - Corrigir erros de digitação ou esclarecer instruções - adicionar exemplos ou usar casos - Traduzindo conteúdo para outras línguas - Criando tutoriais ou guias

Como configurar seu ambiente de desenvolvimento

Pré-requisitos

Antes de começar, certifique-se de que:

  • Node.js mais de 18 com npm

  • Python 3.8+ (para processamento de dados)

  • MongoDB 6.0+ (local ou Atlas)

  • Git para controle de versão

Configuração inicial

# Clone your fork
git clone https://github.com/YOUR_USERNAME/amrnet.git
cd amrnet

# Install dependencies
npm install
cd client && npm install && cd ..

# Set up environment
cp .env.example .env
# Edit .env with your configuration

# Start development servers
npm run start:dev

O aplicativo estará disponível em http://localhost:3000 com a API em http://localhost:8080.

Padrões de qualidade código

Vinculando e formatando

AMRnet usa ESLint e Prettier para manter a qualidade do código:

# Lint JavaScript/React code
cd client && npm run lint

# Format code with Prettier
npm run format

# Fix linting issues automatically
cd client && npm run lint:fix

Testando

Sempre inclua testes com suas contribuições:

# Run frontend tests
cd client && npm test

# Run tests with coverage
cd client && npm test -- --coverage

# Run backend tests (if available)
npm run test:backend

Git Hooks

Os hooks de pré-commit executam automaticamente a linha e formatação: - Configurado via .editorconfig e .prettierrc.json - Garante um estilo consistente de código entre todas as contribuições

Workflow de desenvolvimento

Nomeação da filial

Use nomes de ramificações descritivas: - feature/add-organism-filtering - bugfix/map-rendering-issue - docs/update-installation-guide

Submeter Mensagens

Seguir o formato convencional do commit : - feat: adicionar novo recurso de filtragem do organismo - ``fix: resolver problema na renderização do mapa no celular - docs: atualizar instruções de instalação

Processo de Revisão do Código

Todas as contribuições passam pela revisão de código: 1. Crie um pull request com uma descrição clara 2. Testes automatizados devem passar 3. Revisão do código pelos mantenedores 4. Feedback do endereço e atualização conforme necessário 5. Mesclar depois de aprovado

Áreas de Contribuição Específicas

Desenvolvimento de Frontend

Tecnologias: React 18, Material-UI, Redux, Recharts

Áreas-chave para contribuição: - Novos componentes de visualização - Melhorias de resposta móvel - Melhorias de acessibilidade - Otimizações de desempenho

Desenvolvimento de backend

Technologies: Node.js, Express.js, MongoDB

Áreas chave para contribuição: - Otimização de ponto de extremidade de API - Melhorias de consulta de dados - Validação e processamento - Melhorias de segurança

Processamento de dados

Technologies: Python, pandas, NumPy

Áreas-chave para contribuição: - Novos analisadores de dados de organismo - Validação da qualidade dos dados - Funções de análise estatística - Suporte ao formato de exportação

Documentação

Áreas precisam de ajuda: - Guias do usuário e tutoriais - Documentação da API - Integração de desenvolvedores - Traduções de várias línguas

Como enviar as alterações

Abra o pull request para enviar alterações a este projeto.

**Seu pull request deve: ** - Inclua uma descrição clara das alterações - Passe todos os testes automatizados - Inclua testes relevantes para a nova funcionalidade - Atualize a documentação, se necessário - Siga os padrões de codificação do projeto

Modelo de pull request inclui: - Descrição das alterações - tipo de mudança (bugfix, feature, docs, etc.) - Testing checklist - Screenshots para alterações da UI

Diretrizes da Comunidade

  • Seja respeitoso e inclusivo

  • Fornecer feedback construtivo

  • Foco na missão de saúde científica e pública

  • Ajude os novatos a começarem

  • Siga nosso Código de Conduta

Obtendo ajuda

**Precisa de ajuda? * - Verifique os Issues - Junte-se a nosso Discussions - Revise o Installation Guide <installation>da :doc: - Leia o Developer Guide

Para problemas urgentes: - vulnerabilidades de segurança: Veja nossa Política de Segurança - bugs críticos: use o Rastreador de Problemas com o rótulo «urgente»