Guía del colaborador: Problemas y PRs

Gracias por su interés en mejorar este proyecto. Este proyecto es de código abierto bajo el GPL-3. licencia. y acoge con satisfacción las contribuciones en forma de informes de fallos, solicitudes de características y solicitudes de extracción.

Aquí hay una lista de recursos importantes para los colaboradores:

Cómo reportar un error

Reporta errores en el Registrador de problemas.

Cuando se presenta un problema, asegúrese de responder a estas preguntas:

  • ¿Qué sistema operativo y versión de Python estás usando?

  • ¿Qué versión de este proyecto estás usando?

  • ¿Qué has hecho?

  • ¿Qué esperabas ver?

  • ¿Qué ves en su lugar?

La mejor manera de arreglar el fallo es proporcionar un caso de prueba, y/o pasos para reproducir el problema.

Cómo solicitar una característica

Las características que mejoran AMRnet pueden sugerirse en Issue Tracker. Es una buena idea enviar primero la propuesta como una solicitud de característica antes de enviar una solicitud de extracción ya que esto permite la mejor coordinación de esfuerzos al prevenir la duplicación del trabajo, y le permite hacer comentarios sobre sus ideas.

Guía del colaborador: Investigación y Desarrollo

Gracias por su interés en contribuir a AMRnet! 🎉 Acogemos con satisfacción las contribuciones de investigadores, desarrolladores y profesionales de la salud pública en todo el mundo. Este proyecto es de código abierto bajo la licencia GPL-3.0 y acoge con satisfacción las contribuciones en forma de informes de fallos, solicitudes de características y solicitudes de extracción.

Aquí hay una lista de recursos importantes para los colaboradores:

Inicio rápido

¿Listo para contribuir? Aquí está cómo configurar AMRnet para el desarrollo local:

  1. Bifurca el repositorio en GitHub

  2. Clona tu bifurcación local

  3. Crea una rama de características para tus cambios

  4. Más tus cambios y pruébalos

  5. Enviar un pull request

Tipos de contribuciones

Reportes de errores

Ayúdanos a mejorar reportando errores usando nuestro Issue Tracker.

Antes de reportar un error: - Busca problemas existentes para evitar duplicados - Prueba con la última versión - Comprueba si el problema ocurre en diferentes navegadores

Al enviar un informe de error, por favor incluye: - Qué sistema operativo y navegador estás usando - Qué versión de AMRnet estás usando - Pasos para reproducir el problema - Lo que esperabas que suceda - Qué sucedió realmente - Capturas de pantalla si es aplicable

Solicitudes de características

Acogemos con satisfacción las sugerencias de características que mejoran la funcionalidad de AMRnet para el AMR.

Las solicitudes de buenas características incluyen: - Descripción clara del problema que se está resolviendo - Casos de uso específicos desde la perspectiva de la salud pública o de la investigación - Consideración de diferentes tipos de usuario (investigadores, diseñadores de políticas, etc.)

Mejoras de documentación

Las mejoras de documentación siempre son bienvenidas, incluyendo: - Corregir errores tipográficos o instrucciones de aclaración - Añadir ejemplos o casos de uso - Traducir contenido a otros idiomas - Crear tutoriales o guías

Cómo configurar tu entorno de desarrollo

Prerrequisitos

Antes de comenzar, asegúrese de tener:

  • Node.js 18+ con npm

  • Python 3.8+ (para procesamiento de datos)

  • MongoDB 6.0+ (local o Atlas)

  • Git para el control de versiones

Configuración 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

La aplicación estará disponible en http://localhost:3000 con la API en http://localhost:8080.

Normas de Calidad del Código

Lintado y formato

AMRnet utiliza ESLint y Prettier para mantener la calidad del 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

Pruebas

Siempre incluye pruebas con tus contribuciones:

# 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

Los ganchos de pre-commit ejecutan automáticamente linting y formato: - Configurados a través de .editorconfig y .://ka-perseus-graphie.s3.amazonaws.com/c.json - Asegura el estilo de código consistente a través de todas las contribuciones

Flujo de trabajo de desarrollo

Nombre de la rama

Usar nombres descriptivos: - feature/add-organism-filtering - bugfix/map-rendering-issue - docs/update-installation-guide

Mensajes de commit

Seguir formato de commit convencional: - feat: añadir nueva capacidad de filtrado de organismo - fix: resolver problema de renderizado de mapa en móvil - docs: actualizar instrucciones de instalación

Proceso de revisión de código

Todas las contribuciones pasan por revisión de código: 1. Crear un pull request con descripción clara 2. Las pruebas automatizadas deben pasar 3. Revisión de código por los mantenedores 4. Calificación de dirección y actualización según sea necesario 5. Combinar una vez aprobado

Áreas de Contribución Específicas

Desarrollo del Frontend

Tecnologías: React 18, Material-UI, Redux, Recharts

Áreas clave de contribución: - Nuevos componentes de visualización - Mejoras de respuesta móvil - Mejoras de accesibilidad - Optimizaciones de rendimiento

Desarrollo de backend

Technologies: Node.js, Express.js, MongoDB

Áreas clave para la contribución: - Optimización de endpoints de la API - Mejoras en la consulta de la base de datos - Validación y procesamiento de datos - Mejoras de seguridad

Procesamiento de datos

Technologies: Python, pandas, NumPy

Áreas clave para la contribución: - Nuevo analizador de datos del organismo - Validación de calidad de datos - Funciones de análisis estático - Soporte en formato de exportación

Documentación

Áreas que necesitan ayuda: - Guías de usuario y tutoriales - Documentación API - Embarque del desarrollador - Traducciones múltiples

Cómo enviar cambios

Abre un pull request para enviar cambios a este proyecto.

Tu pull request debería: - Incluye una descripción clara de los cambios - Pasar todas las pruebas automatizadas - Incluye pruebas relevantes para una nueva funcionalidad - Actualizar documentación si es necesario - Sigue los estándares de codificación del proyecto

La plantilla de Pull request incluye: - Descripción de los cambios - Tipo de cambio (corrección de errores, características, documentos, etc.) - Lista de verificación de pruebas - Capturas de pantalla para cambios en la interfaz

Directrices de la comunidad

  • Ser respetuoso e inclusivo

  • Proporcionar comentarios constructivos

  • Concéntrese en la misión de salud pública y científica

  • Ayuda a los recién llegados a empezar

  • Sigue nuestro Código de Conducta

Obteniendo ayuda

**¿Necesitas ayuda? * - Comprueba Issues - Únete a nuestros Discusiones - Revisa la Installation Guide - Lee la Developer Guide

Para problemas urgentes: - vulnerabilidades de seguridad: vea nuestra Política de Seguridad - Fallos críticos: Use el rastreador de incidencias con etiqueta «urgente»