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:
Bifurca el repositorio en GitHub
Clona tu bifurcación local
Crea una rama de características para tus cambios
Más tus cambios y pruébalos
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»