Contributor Guide: Issues & PRs¶
Thank you for your interest in improving this project. This project is open-source under the GPL-3.0 license. and welcomes contributions in the form of bug reports, feature requests, and pull requests.
Here is a list of important resources for contributors:
How to report a bug¶
Report bugs on the Issue Tracker.
When filing an issue, make sure to answer these questions:
Which operating system and Python version are you using?
Which version of this project are you using?
What did you do?
What did you expect to see?
What did you see instead?
The best way to get your bug fixed is to provide a test case, and/or steps to reproduce the issue.
How to request a feature¶
Features that improve AMRnet can be suggested on the
Issue Tracker.
It’s a good idea to first submit the proposal as a feature request prior to submitting a
pull request as this allows for the best coordination of efforts by preventing the
duplication of work, and allows for feedback on your ideas.
Contributor Guide: Research & Development¶
Thank you for your interest in contributing to AMRnet! 🎉 We welcome contributions from researchers, developers, and public health professionals worldwide. This project is open-source under the GPL-3.0 license and welcomes contributions in the form of bug reports, feature requests, and pull requests.
Here is a list of important resources for contributors:
Quick Start¶
Ready to contribute? Here’s how to set up AMRnet for local development:
Fork the repository on GitHub
Clone your fork locally
Create a feature branch for your changes
Make your changes and test them
Submit a pull request
Types of Contributions¶
Bug Reports¶
Help us improve by reporting bugs using our Issue Tracker.
Before reporting a bug: - Search existing issues to avoid duplicates - Test with the latest version - Check if the issue occurs in different browsers
When filing a bug report, please include: - Which operating system and browser you’re using - Which version of AMRnet you’re using - Steps to reproduce the issue - What you expected to happen - What actually happened - Screenshots if applicable
Feature Requests¶
We welcome feature suggestions that improve AMRnet’s functionality for AMR surveillance.
Good feature requests include: - Clear description of the problem being solved - Specific use cases from public health or research perspectives - Consideration of different user types (researchers, policymakers, etc.)
Documentation Improvements¶
Documentation improvements are always welcome, including: - Fixing typos or clarifying instructions - Adding examples or use cases - Translating content to other languages - Creating tutorials or guides
How to set up your development environment¶
Prerequisites¶
Before you begin, ensure you have:
Node.js 18+ with npm
Python 3.8+ (for data processing)
MongoDB 6.0+ (local or Atlas)
Git for version control
Initial Setup¶
# 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
The application will be available at http://localhost:3000 with the API at http://localhost:8080.
Code Quality Standards¶
Linting and Formatting¶
AMRnet uses ESLint and Prettier to maintain code quality:
# 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
Testing¶
Always include tests with your 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¶
Pre-commit hooks automatically run linting and formatting:
- Configured via .editorconfig and .prettierrc.json
- Ensures consistent code style across all contributions
Development Workflow¶
Branch Naming¶
Use descriptive branch names:
- feature/add-organism-filtering
- bugfix/map-rendering-issue
- docs/update-installation-guide
Commit Messages¶
Follow conventional commit format:
- feat: add new organism filtering capability
- fix: resolve map rendering issue on mobile
- docs: update installation instructions
Code Review Process¶
All contributions go through code review: 1. Create a pull request with clear description 2. Automated tests must pass 3. Code review by maintainers 4. Address feedback and update as needed 5. Merge once approved
Specific Contribution Areas¶
Frontend Development¶
Technologies: React 18, Material-UI, Redux, Recharts
Key areas for contribution: - New visualization components - Mobile responsiveness improvements - Accessibility enhancements - Performance optimizations
Backend Development¶
Technologies: Node.js, Express.js, MongoDB
Key areas for contribution: - API endpoint optimization - Database query improvements - Data validation and processing - Security enhancements
Data Processing¶
Technologies: Python, pandas, NumPy
Key areas for contribution: - New organism data parsers - Data quality validation - Statistical analysis functions - Export format support
Documentation¶
Areas needing help: - User guides and tutorials - API documentation - Developer onboarding - Multi-language translations
How to submit changes¶
Open a pull request to submit changes to this project.
Your pull request should: - Include a clear description of changes - Pass all automated tests - Include relevant tests for new functionality - Update documentation if needed - Follow the project’s coding standards
Pull request template includes: - Description of changes - Type of change (bugfix, feature, docs, etc.) - Testing checklist - Screenshots for UI changes
Community Guidelines¶
Be respectful and inclusive
Provide constructive feedback
Focus on the scientific and public health mission
Help newcomers get started
Follow our Code of Conduct
Getting Help¶
Need assistance? - Check existing Issues - Join our Discussions - Review the Installation Guide - Read the Developer Guide
For urgent issues: - Security vulnerabilities: See our Security Policy - Critical bugs: Use the Issue Tracker with “urgent” label