Line 1: |
Line 1: |
− | We have a lot of development work to do: on the Open Food Facts backend (Perl and MongoDB), API (JSON), web site (HTML5, JS, Foundation), iOS / Android / Windows Phone / FirefoxOS apps (currently developed in HTML and JS with Apache Cordova / Phonegap), to build new cool reuses etc. Our code is on GitHub. | + | 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 === |
| + | (see also https://github.com/openfoodfacts/) |
| + | * 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 === |
| + | *[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'' |
| | | |
| == Needs == | | == Needs == |
| | | |
− | * We firstly need resources that work on issues. There is *many* issues, categorized by topics, see: ...
| + | There is many issues, categorized by topics, see: |
| + | * [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 |
| + | ** For those who love i18n see [https://github.com/openfoodfacts/openfoodfacts-server/issues?q=is%3Aopen+is%3Aissue+label%3Ai18n translations] category |
| + | ** See [https://github.com/openfoodfacts/openfoodfacts-server/labels all the categories] |
| + | * [https://github.com/openfoodfacts/openfoodfacts-androidapp/issues Android app issues] |
| + | * [https://github.com/openfoodfacts/openfoodfacts-ios/issues iOS app issues] |
| + | * [https://github.com/openfoodfacts/openfoodfacts-ai/issues Open Food Facts AI issues] |
| | | |
| == Principles == | | == Principles == |
| | | |
− | * You have to discuss the topics or issues or functionalities you want to work on. Slack is the best choice for it.
| + | Our goal is to follow and keep few and simple guidelines. |
− | * You should open an issue on Github to explain the problem you want to solve or the functionnality you want to work on.
| + | |
− | * You fork the project and create one branche per issue or functionality you want to work on. When you're ready to propose something, you send a "pull request".
| + | # '''Discuss the topics or issues or functionalities you want to work on'''. The [http://slack.openfoodfacts.org/ slack workspace] is the best choice for it. |
− | Coding style is defined in the .editorconfig file, see https://github.com/openfoodfacts/openfoodfacts-server/blob/master/.editorconfig
| + | # 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: ''<code>issue/[issue_number]-[name]</code>''; ex.: ''<code>issue/1630-name-of-the-issue</code>'' |
| + | #* When you're ready to propose something, send a '''Pull Request'''. Be patient, sometimes it takes time to the core team to review PRs. |
| + | # The '''coding style''' is defined in the <code>[https://github.com/openfoodfacts/openfoodfacts-server/blob/master/.editorconfig .editorconfig]</code> 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 |