Guide du contributeur : Problèmes & PRs

Merci de votre intérêt pour l’amélioration de ce projet. Ce projet est open-source sous la GPL-3. sous licence <https://opensource.org/licenses/GPL-3.0>`__. et bienvenue aux contributions sous forme de rapports de bogues, de demandes de fonctionnalités et de demandes de pulling.

Voici une liste des ressources importantes pour les contributeurs :

Comment signaler un bug

Signaler les bugs sur le Ticket Tracker.

Lors du dépôt d’un problème, assurez-vous de répondre à ces questions :

  • Quel système d’exploitation et quelle version de Python utilisez-vous ?

  • Quelle version de ce projet utilisez-vous ?

  • Qu’avez-vous fait ?

  • Qu’est-ce que vous attendiez à voir?

  • Qu’est-ce que vous avez vu à la place?

La meilleure façon de corriger votre bogue est de fournir un cas de test, et/ou des étapes pour reproduire le problème.

Comment demander une fonctionnalité

Les fonctionnalités qui améliorent AMRnet peuvent être suggérées sur le Issue Tracker. C’est une bonne idée de soumettre d’abord la proposition en tant que demande de fonctionnalité avant de soumettre une pull request car cela permet la meilleure coordination des efforts en évitant la duplication du travail, et vous permet de faire des commentaires sur vos idées.

Guide du contributeur : Recherche & Développement

Nous vous remercions de votre intérêt à contribuer à AMRnet! 🎉 Nous saluons les contributions des chercheurs, des développeurs et des professionnels de la santé publique du monde entier. Ce projet est open-source sous la licence GPL-3.0 et accueille favorablement les contributions sous la forme de rapports de bogue, de demandes de fonctionnalités et de pull requests.

Voici une liste des ressources importantes pour les contributeurs :

Démarrage rapide

Prêt à contribuer ? Voici comment configurer AMRnet pour le développement local :

  1. Forcer le dépôt sur GitHub

  2. Cloner votre fork localement

  3. Créer une branche pour vos modifications

  4. Faitez vos modifications et testez-les

  5. Soumettre une pull request

Types de contributions

Rapports de bugs

Aidez-nous à améliorer en signalant les bugs en utilisant notre Ticket Tracker.

Avant de signaler un bogue: - Rechercher des problèmes existants pour éviter les doublons - Tester avec la dernière version - Vérifier si le problème se produit dans différents navigateurs

Lorsque vous remplissez un rapport de bogue, veuillez inclure: - Quel système d’exploitation et quel navigateur vous utilisez - Quelle version d’AMRnet vous utilisez - Étapes pour reproduire le problème - Ce que vous attendez de voir se passer - Que s’est-il passé - Captures d’écran le cas échéant

Demandes de fonctionnalités

Nous accueillons avec plaisir les suggestions de fonctionnalités qui améliorent la fonctionnalité d’AMRnet pour la surveillance AMR.

Les bonnes demandes de fonctionnalités comprennent : - Une description claire du problème à résoudre - Des cas d’utilisation spécifiques provenant de la santé publique ou du point de vue de la recherche - La prise en compte des différents types d’utilisateurs (chercheurs, décideurs, etc.)

Améliorations de la documentation

Les améliorations de la documentation sont toujours les bienvenues, incluant: - Corriger les fautes de frappe ou clarifier les instructions - Ajouter des exemples ou utiliser des cas - Traduire du contenu dans d’autres langues - Créer des tutoriels ou des guides

Comment configurer votre environnement de développement

Pré-requis

Avant de commencer, assurez-vous que vous avez:

  • Node.js 18+ avec npm

  • Python 3.8+ (pour le traitement des données)

  • MongoDB 6.0+ (local ou Atlas)

  • Git pour le contrôle de version

Configuration initiale

# 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

L’application sera disponible sur http://localhost:3000 avec l’API à http://localhost:8080.

Normes de qualité du code

Liniation et mise en forme

AMRnet utilise ESLint et Prettier pour maintenir la qualité du code :

# 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

Tests en cours

Toujours inclure des tests avec vos contributions:

# 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

Les hooks de pré-commit exécutent automatiquement linting et formatting: - Configuré via .editorconfig et .prettierrc.json - garantit un style de code cohérent pour toutes les contributions

Flux de travail de développement

Nom de la branche

Utilisez des noms de branches descriptifs : - feature/add-organism-filtering - bugfix/map-rendering-issue - docs/update-installation-guide

Messages de validation

Suivez le format de commit conventionnel : - feat: add new Organm filtering capability - fix : resolve map rendering issue on mobile - docs : update installation instructions

Processus de revue de code

Toutes les contributions passent par l’examen de code : 1. Créer une pull request avec une description claire 2. Les tests automatisés doivent passer 3. Revue de code par les responsables 4. Adressez les commentaires et mettez à jour au besoin 5. Fusionner une fois approuvée

Zones de contribution spécifiques

Développement du frontend

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

Domaines clés de contribution : - Nouveaux composants de visualisation - Améliorations de la réactivité mobile - Améliorations de l’accessibilité - Optimisations des performances

Développement du backend

Technologies: Node.js, Express.js, MongoDB

Domaines clés de contribution : - Optimisation des terminaux API - Améliorations des requêtes de la base de données - Validation et traitement des données - Améliorations de la sécurité

Traitement des données

Technologies: Python, pandas, NumPy

Domaines clés de contribution : - Nouveaux analyseurs de données pour l’organisme - Validation de la qualité des données - Fonctions d’analyse statistique - Support du format d’exportation

Documentation

Zones nécessitant de l’aide: - Guides d’utilisation et tutoriels - Documentation API - Intégration des développeurs - Traductions multilingues

Comment soumettre les modifications

Ouvrez une pull request pour soumettre des modifications à ce projet.

Votre pull request devrait : - Inclure une description claire des changements - Passer tous les tests automatisés - Inclure les tests pertinents pour les nouvelles fonctionnalités - Mettre à jour la documentation si nécessaire - Suivre les normes de codage du projet

Le modèle de demande d’ajout comprend : - Description des changements - Type de changement (correction de bugs, fonctionnalité, docs, etc.) - Liste de contrôle de test - Captures d’écran pour les modifications de l’interface utilisateur

Directives de la communauté

  • Soyez respectueux et inclusif

  • Fournir un feedback constructif

  • Concentrez-vous sur la mission de santé publique et scientifique

  • Aidez les nouveaux arrivants à commencer

  • Follow our Code of Conduct

Obtenir de l’aide

**Besoin d’aide ? * - Vérifiez les Issues existants - Rejoignez nos Discussions - Consultez le Guide d’installation :doc: <installation> - Lisez le Guide du Développeur

Pour des problèmes urgents : - vulnérabilités de sécurité : Voir notre politique de sécurité - bogues critiques : utilisez le système de suivi de problèmes avec l’étiquette « urgente »