Thank you for your interest in contributing to eNutri! We welcome contributions from researchers, developers, institutions, and the broader community. This guide outlines the various ways you can support and improve eNutri.
- Get Started
- Reporting Issues & Bugs
- Feature Requests
- Direct Code Contributions
- Contributing Without Coding
- Contacting the Team
- Advertising & Promoting eNutri
- Community Guidelines
Before contributing, please:
- Review our roadmap at .github/roadmap.md to understand current development priorities and long-term vision
- Read our Code of Conduct - We are committed to providing an inclusive and welcoming environment for all contributors
- Check existing issues at https://github.com/eNutri/.github/issues to avoid duplicate reports
Found a bug? We'd love to hear about it!
- Go to GitHub Issues
- Click "New Issue" and select the bug report template
- Provide the following information:
- Clear, descriptive title (e.g., "FFQ validation fails on Firefox")
- Detailed description of the problem
- Steps to reproduce the issue
- Expected vs. actual behavior
- Screenshots or error messages (if applicable)
- Your environment:
- Browser and version
- Operating system
- eNutri version/instance
**Title:** Authentication fails with special characters in password
**Description:** Users cannot log in when their password contains certain special characters (e.g., @, #, $).
**Steps to Reproduce:**
1. Create account with password containing "@" symbol
2. Attempt to log in
3. Error appears on login page
**Expected Behavior:** User should log in successfully
**Actual Behavior:** "Invalid credentials" error message
Have an idea to improve eNutri?
- Go to GitHub Issues
- Click "New Issue" and select the feature request template
- Describe your feature:
- Problem it solves for researchers
- Proposed solution or implementation approach
- Alternative approaches considered
- Potential impact on users
- Any relevant links or context
Note: Feature requests aligned with our roadmap may be prioritized faster. Check the roadmap first!
We welcome pull requests! Here's how to contribute code:
- Git and GitHub account
- Node.js and npm (for building and testing)
- Familiarity with Angular 21, TypeScript, or the relevant technology stack
- Docker (for local development)
-
Fork the repository on GitHub
-
Clone your fork locally:
git clone https://github.com/YOUR-USERNAME/enutri-enutri.git cd enutri-enutri -
Create a feature branch:
git checkout -b feature/your-feature-name # or for bug fixes: git checkout -b fix/bug-description -
Set up development environment:
# Follow setup instructions in README or DEVELOPMENT.md docker-compose up # if available npm install
-
Make your changes:
- Follow existing code style and patterns
- Write clear, descriptive commit messages
- Keep commits focused and atomic
- Add tests for new functionality
- Update documentation as needed
-
Push to your fork:
git push origin feature/your-feature-name
-
Open a Pull Request (PR):
- Use a clear, descriptive title
- Reference related issues (e.g., "Fixes #123")
- Describe what you changed and why
- Include screenshots for UI changes
- Ensure all tests pass before submitting
- Test Coverage: Aim for >80% code coverage
- Accessibility: Follow WCAG 2.2 guidelines
- Documentation: Comment complex logic; update READMEs
- Ensure your PR addresses a single concern
- All GitHub Actions checks must pass
- At least one maintainer review required
- Feedback will be provided within 1-2 weeks
- Merge after approval and conflicts resolved
No coding skills? Many ways to help!
- Improve README clarity
- Translate documentation to other languages
- Add tutorial videos or blog posts
- Create deployment guides for specific platforms
- Document user workflows and best practices
- Add regional food composition data
- Improve portion size photography and descriptions
- Conduct usability studies
- Validate eNutri with new populations
- Compare outputs with other dietary assessment tools
- Publish validation studies
We are committed to fostering an inclusive, respectful community. All contributors must:
- Be Respectful: Treat all contributors with courtesy and professionalism
- Be Inclusive: Welcome diverse perspectives and backgrounds
- Be Constructive: Provide helpful feedback and solutions
- Respect Privacy: Do not share personal or sensitive information without consent
- Follow Terms of Service: Comply with GitHub's Community Guidelines
Violations of these guidelines may result in removal from the project.
Contributors are recognized in:
- Git commit history
- GitHub Contributors page
- Release notes for major contributions
- Author acknowledgments in publications
- GitHub Issues: https://github.com/eNutri/.github/issues
- Research team email: enutri@reading.ac.uk