Tech Team
The Open Food Facts software is developed collaboratively by hackers from all around the world.
All developement happens on GitHub: https://github.com/openfoodfacts/
We have a lot of development work to do:
Project we're working on:
- Server backend (Perl and MongoDB);
- Web site (HTML5, JS, Foundation, within the backend code as templates);
- iOS native (Swift);
- Android native (Kotlin);
- Robotoff, our machine learning service (Python);
- Hunger Games, our annotation web app (VueJS);
- Our various SDKs (Python, Ruby, Dart, PHPâŚ);
- ... your idea ...
Topics you can work on
- Android app (Kotlin)
- iPhone app (Swift)
- Flutter app (Dart)
- Dart package
- API Documentation (Familiarity with APIs, good pedagogy and writing skills)
- Robotoff (Python)
- Server (HTML,CSS, JS + Perl)
- Hunger Games (VueJS)
Software development page on the website: https://world.openfoodfacts.org/development
Needs
There is many issues, categorized by topics, see:
- Website, backend and API issues
- For beginners see First Good Issue category
- For those who love i18n see translations category
- See all the categories
- Android app issues
- iOS app issues
- Open Food Facts AI issues
Principles
Our goal is to follow and keep few and simple guidelines.
- Discuss the topics or issues or functionalities you want to work on. The slack workspace is the best choice for it.
- If not already done, open an issue on Github to explain the problem you want to solve or the functionality you want to work on.
- If you want to work on an existing issue, tell everyone in the issue's Github comments.
- Fork the project and create one branch per issue or functionality you want to work on.
- It's cool to name a branch:
issue/[issue_number]-[name]
; ex.:issue/1630-name-of-the-issue
- When you're ready to propose something, send a Pull Request. Be patient, sometimes it takes time to the core team to review PRs.
- It's cool to name a branch:
- The coding style is defined in the
.editorconfig
file. Many editors support EditorConfig, check yours: https://editorconfig.org
Inspirations
- https://www.mediawiki.org/wiki/How_to_contribute
- Inspirations from https://www.mediawiki.org/wiki/How_to_become_a_MediaWiki_hacker
- Wikimedia makes a difference between:
- policies, what people MUST do: https://www.mediawiki.org/wiki/Development_policy
- guidelines, what people SHOULD do: https://www.mediawiki.org/wiki/Development_guideline