Jump to content

Tech Team: Difference between revisions

1,382 bytes added ,  23 February 2023
rework of the page to be tech team page
m (Alex-off moved page Software Development to Tech Team)
(rework of the page to be tech team page)
Line 1: Line 1:
=== What ===
The Open Food Facts software is developed collaboratively by hackers from all around the world. Β 
The Open Food Facts software is developed collaboratively by hackers from all around the world. Β 


All developement happens on '''GitHub''': https://github.com/openfoodfacts/
Technical skills are really appreciated in a wide variety of domains. Β 


We have a lot of development work to do:
Every thing we code is under a free software license (possibly [https://www.gnu.org/licenses/agpl-3.0.en.html AGPL])


=== Project we're working on ===
=== Why ===
(see also https://github.com/openfoodfacts/)
Providing tools is essential to be able to [[Data Contribution Team|grow the database]] as fast as possible and maintain its quality.
* 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 ===
The mobile app and the main website reaches a large public providing them health and environment information. It also enables crowd sourcing the database at a large scale, there UX is important.
*[https://github.com/openfoodfacts/smooth-app/issues/525 Flutter app (Dart)]
*[https://github.com/openfoodfacts/openfoodfacts-dart/issues/218 Dart package]
*[https://github.com/openfoodfacts/api-documentation/issues/23 API Documentation (Familiarity with APIs, good pedagogy and writing skills)]
*[https://github.com/openfoodfacts/robotoff/issues/374 Robotoff (Python)]
*[https://github.com/openfoodfacts/openfoodfacts-server/issues/5529 Server (HTML,CSS, JS + Perl)]
*[https://github.com/openfoodfacts/openfoodfacts-hungergames/issues/234 Hunger Games (VueJS)]
*[https://github.com/openfoodfacts/openfoodfacts-androidapp/issues/4169 Android app (Kotlin)]
*[https://github.com/openfoodfacts/openfoodfacts-ios/issues/912 iPhone app (Swift)]


''Software development page on the website: https://world.openfoodfacts.org/development''
The other tools helps tracking data quality, fixing errors, augment contribution through machine learning etc.


== Needs ==
Having qualitative technical documentation helps a lot reaching new contributors that can help us more efficiently.


There is many issues, categorized by topics, see:
Writing SDKs and API documentation helps lower the entry for [[Reusing Open Food Facts Data|database reuse]] projects.
* [https://github.com/openfoodfacts/openfoodfacts-server/issues Website, backend and API issues]
Β 
** For beginners see [https://github.com/openfoodfacts/openfoodfacts-server/issues?q=is%3Aopen+is%3Aissue+label%3A%22good+first+issue%22 First Good Issue] category
=== Connect ===
** For those who love i18n see [https://github.com/openfoodfacts/openfoodfacts-server/issues?q=is%3Aopen+is%3Aissue+label%3Ai18n translations] category
[https://slack.openfoodfacts.org/ Slack channels]:
** See [https://github.com/openfoodfacts/openfoodfacts-server/labels all the categories]
*<nowiki>#dev - is a general channel around development</nowiki>
* [https://github.com/openfoodfacts/openfoodfacts-androidapp/issues Android app issues]
*#infrastructure - is about managing servers, installing software, etc.
* [https://github.com/openfoodfacts/openfoodfacts-ios/issues iOS app issues]
*#documentation - about documentation
* [https://github.com/openfoodfacts/openfoodfacts-ai/issues Open Food Facts AI issues]
*Then software projects have their own channels, for example #product-opener (main server), #mobile_app you may find specific channels in the README of each project
*There are also channels specific to languages: #perl, #flutter, #python, etc. to ask questions specific to the language or develop the SDK
All developments happens on '''GitHub''': https://github.com/openfoodfacts/ (even infrastructure has it's repo)
Β 
Some projects have weekly or bimonthly meeting, see README of each projects or [[Events|community calendar.]]
Β 
We have a monthly infrastructure meeting (see [[Events|community calendar)]]
Β 
=== Activities ===
Β 
* Software development
** there is a large variety of projects to develop. see https://github.com/openfoodfacts/
** if you want to help with the core of the project, consider learning perl (server) or flutter (mobile app)
** new ideas are also welcome
** after one or two successful merge PR you can ask direct access to a repository
** For beginners we often try to add a good-first-issue label on accessible issues
Β 
* Project management / product design / design
** skills in project or product design can really help: triaging bug, imagining new UI and UX
** also if you have skills for design do not hesitate to propose your skills
* Technical Documentation
** help improve documentation on projects directly (often docs/ folder, but also the README)
** contributing to this wiki is also useful in some cases
** remember that putting good links at the right place is also very efficient
* Infrastructure
** if you have a good level of expertise in Linux, ZFS, Proxmox or some specific architecture, we would really welcome your participation.Β  see [https://github.com/openfoodfacts/openfoodfacts-infrastructure/ openfoodfacts-infrastructure repository]
** [https://github.com/openfoodfacts/openfoodfacts-monitoring/ monitoring] is also a thing
** contributing in docker in projects, and CI/CD actions is also much appreciated
* Machine learning
** robotoff is at the heart of machine learning usage (orchestrator)
** hunger-games is a fantastic tool to contribute data to it
** openfoodfacts-ai is the main repository for machine learning
Β 
=== Programs ===
Some year we participated in programs like Google Summer Of Code, Google Season of docs, [https://outreachy.org/ outreachy], [https://dataforgood.fr/ data for good],
Β 
If you are interested in mentoring or participating, or if you propose another program, reach us.


== Principles ==
== Principles ==
212

edits