Difference between revisions of "Software Development"

From Open Food Facts EN
Jump to navigation Jump to search
(+ existing issues)
(+ inspirations)
Line 1: Line 1:
 +
The Open Food Facts software is developed collaboratively by hackers from all around the world.
 +
 
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.
 
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.
  
Line 14: Line 16:
  
 
== Principles ==
 
== 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 [http://slack.openfoodfacts.org/ slack workspace] is the best choice for it.
 
# '''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.
Line 20: Line 24:
 
# fork the project and '''create one branch per issue or functionality you want to work on'''. When you're ready to propose something, send a "pull request"; be patient, sometimes it takes time to the core team to review pull request.
 
# fork the project and '''create one branch per issue or functionality you want to work on'''. When you're ready to propose something, send a "pull request"; be patient, sometimes it takes time to the core team to review pull request.
 
# '''coding style''' is defined in the .editorconfig file, see [https://github.com/openfoodfacts/openfoodfacts-server/blob/master/.editorconfig https://github.com/openfoodfacts/openfoodfacts-server/blob/master/.editorconfig]; many editors support EditorConfig, check yours: https://editorconfig.org
 
# '''coding style''' is defined in the .editorconfig file, see [https://github.com/openfoodfacts/openfoodfacts-server/blob/master/.editorconfig https://github.com/openfoodfacts/openfoodfacts-server/blob/master/.editorconfig]; 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

Revision as of 10:23, 13 January 2019

The Open Food Facts software is developed collaboratively by hackers from all around the world.

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.

All our code is on GitHub : https://github.com/openfoodfacts/

Needs

There is many issues, categorized by topics, see:

Principles

Our goal is to follow and keep few and simple guidelines.

  1. discuss the topics or issues or functionalities you want to work on. The slack workspace is the best choice for it.
  2. 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.
  3. if you want to work on an existing issue, tell everyone in the issue's Github comments.
  4. fork the project and create one branch per issue or functionality you want to work on. When you're ready to propose something, send a "pull request"; be patient, sometimes it takes time to the core team to review pull request.
  5. coding style is defined in the .editorconfig file, see https://github.com/openfoodfacts/openfoodfacts-server/blob/master/.editorconfig; many editors support EditorConfig, check yours: https://editorconfig.org

Inspirations