Difference between pages "Product Opener" and "Main Page"

From Open Food Facts wiki
(Difference between pages)
Jump to navigation Jump to search
 
(adding teams)
 
Line 1: Line 1:
== Introduction ==
+
__NOTOC__
 +
Welcome to the [http://openfoodfacts.org Open Food Facts] wiki! This wiki is a collaborative space for contributors to the Open Food Facts project.
 +
We can use it to share and discuss ideas about the project and its sub-projects, to implement them and to document them.
  
Product Opener is the software used by Open Food Facts to create and maintain its collaborative database of food products in open data.
+
NEW: this wiki just started, so please excuse us for all the red links, and create pages as you see fit!
  
== Open source ==
+
[[fr:Accueil]]
  
Product Opener will be released under an open source licence so that it can be reused by other projets, for instance to open the data for other types of products.
+
{| width="100%" cellspacing="0" cellpadding="0"
 +
| colspan="2" |
 +
|-
 +
| width="50%" style="vertical-align:top;" |
  
The Product Opener original code includes code related to the original developer's other projects. Efforts are under way to clean, decouple and document the Product Opener code so that it can be released as open source.
+
{{Box|About Open Food Facts|
 +
*[[Recent Changes on Open Food Facts]]: change log with new features, improvements, bug fixes etc.
 +
*[http://en.openfoodfacts.org/who-we-are The Open Food Facts team]
 +
*[http://en.blog.openfoodfacts.org/ Open Food Facts blog]
 +
}}
  
== Components ==
+
{{Box|Log in|}}
 +
To log in on the wiki so that you can edit and contribute to pages, first log in on [http://en.openfoodfacts.org Open Food Facts] with your account and then click on the [http://en.wiki.openfoodfacts.org/index.php?title=Special:UserLogin&returnto=Main+Page Log in] link at the top right of this page. You will then be automatically signed in on the wiki.
  
=== Product Opener Database ===
 
  
==== Product data and history ====
+
{{Box|Contributing|
 +
*[http://en.openfoodfacts.org/status/to-be-completed Products to be completed]
 +
*[http://en.openfoodfacts.org/statuses All statuses]
 +
}}
  
The data for each product is stored in a structured object (several levels of hashes and arrays). The data is stored on disk in individual files in Perl's binary format for objects (Storable). The history of each change to the product data is also saved in the same format. There is one binary file for each version.
+
{{Box|Teams|
 +
*[[Development Team]]
 +
*[[Communication Team]]
 +
*[[Country Teams]]
 +
**[[UK Team]]
 +
}}
  
==== Product data index ====
+
{{Box|Contacts|
 +
*[[Contact|Contact information]]
 +
}}
  
The current version of each product is stored in a MongoDB database. The database includes indexes and is used to search and display products.
+
{{Box|Files used on Open Food Facts|
MongoDB allow storing structured objects as-is, so there is an exact correspondence between Perl's internal format, MongoDB's format and the JSON export of the API.
+
*[[List of recognized additives]]
 +
*[[Translations]] (Website, Categories, Marketing assets…)
 +
}}
 +
For information, corrections and improvements.
  
=== Product images ===
+
{{Box|Images and presentations|
 +
*[[Images and presentations]]
 +
}}
  
Images are saved on disk for each product. Original images uploaded through the web server or mobile applications are kept. Thumbnails are also generated for the final product image.
+
| width="50%" style="vertical-align:top;" |
  
==== Aggregated data ====
+
{{Box|News|
 +
*[[Bazaar]]: to share and discuss, similar to Wikipedia's Village Pump
 +
*[[Upcoming Events]]: to list meetups, conferences and other events that we could participate in
 +
}}
  
Some of the data is periodically aggregated and saved in Perl binary files (e.g. average nutrition facts for products of each category).
+
{{Box|Product lists|
 +
*[[Noteworthy Products]]: to link to the pages of special products. e.g. interesting or exotic codes.
 +
*[[Products to check]]: producs that have dubious data.
 +
*[[Products to delete]]: products that are not food products.
 +
}}
  
==== Exported data ====
+
{{Box|Projets|
 +
*[[Project:Archeology]]
 +
*[[Project:Blind people]]
 +
*[[Project:Community portal]]
 +
*[[Project:Contribute Back]]
 +
*[[Project:Current events]]
 +
*[[Project:Error detection]]
 +
*[[Project:Mobile version]]
 +
*[[Project:Mobile Apps]]
 +
*[[Project:What's in my yogurt?]]
 +
*[[Project:Structured Data]]
 +
*[[Project:Internationalization]] & [[Global taxonomies]] & [[Translations]]
 +
*[[Project:Fast Food]]
 +
*[[Project:Gamification]]
 +
*[[Project:Google Glass]]
 +
*[[Project:Made Near You]]
 +
*[[Project:Media monitoring]]
 +
*[[Project:Microwave]]
 +
*[[Project:Non Standard Barcodes]]
 +
*[[Project:OCR]]
 +
*[[Project:Public Data]]
 +
*[[Project:Roadmap]]
 +
*[[Project:Social Media]]
 +
*[[Project:Stands]]
 +
*[[Project:ProductOpener]]
  
The data for all products is periodically exported in CSV and RDF formats.
+
}}
 +
See also the list of ideas collected on the [http://www.mindmeister.com/fr/248768223/open-food-facts-roadmap-2013 2013 Roadmap mindmap].
  
=== Product Opener Web Server ===
 
  
The web interface for searching, displaying, adding and editing products. (e.g. http://world.openfoodfacts.org for Open Food Facts)
+
{{Box|Misc.|
 +
*[http://en.openfoodfacts.org/legal Legal]
 +
*[[FAQs|FAQ]]
 +
*[http://en.openfoodfacts.org/terms-of-use Terms of use]
 +
*[[Mission ideas]]
 +
*[http://en.openfoodfacts.org/press-and-blogs Press and blogs]
 +
}}
  
The server is written in Perl. In production we use a light weight Apache web server for static files (e.g. images) that does reverse proxying to a modperl Apache server that dynamically generates
+
|}
the HTML pages.
 
 
 
The form to add and edit product uses Javascript and jquery.
 
 
 
In the backend, other libraries and software are used, such as Tesseract for optical character recognition for ingredients.
 
 
 
=== Product Opener API ===
 
 
 
Product Opener provides a JSON API to search products and read their data.
 
 
 
There is also a limited API to upload product images and edit some of the product data that is used by the mobile applications.
 
 
 
The API functionality is currently provided by the Product Opener Web Server, but it may change in the future (e.g. at some point we could implement a full API for accessing (reading + writing) the Product Opener database, and have the Web Server call the API instead of going directly to the database).
 
 
 
=== Product Opener client applications ===
 
 
 
==== Apache Cordova mobile app for Android, iOS and Windows Phone ====
 
 
 
The current Open Food Facts mobile apps for Android, iOS and Windows Phone are developed with Apache Cordova (previously known as Phonegap) with the same HTML + Javascript (including jquery and jquerymobile) code base.
 
 
 
The Android app uses Moodstocks image recognizer and barcode scanner plugin. The iOS and Windows Phone apps use the BarcodeScanner plugin.
 
 
 
The code for the Open Food Facts phonegap app is already in open source:
 
* https://github.com/openfoodfacts/openfoodfacts-android/tree/master/phonegap/Open%20Food%20Facts (with the BarcodeScanner plugin)
 
* https://github.com/openfoodfacts/openfoodfacts-moodstocks (with the Moodstocks plugin)
 
 
 
== Installation ==
 
 
 
(In progress.)
 
 
 
See [[Product Opener installation]]
 

Revision as of 10:02, 9 September 2014

Welcome to the Open Food Facts wiki! This wiki is a collaborative space for contributors to the Open Food Facts project. We can use it to share and discuss ideas about the project and its sub-projects, to implement them and to document them.

NEW: this wiki just started, so please excuse us for all the red links, and create pages as you see fit!

fr:Accueil

About Open Food Facts
Log in

To log in on the wiki so that you can edit and contribute to pages, first log in on Open Food Facts with your account and then click on the Log in link at the top right of this page. You will then be automatically signed in on the wiki.


Files used on Open Food Facts

For information, corrections and improvements.

Images and presentations
News
  • Bazaar: to share and discuss, similar to Wikipedia's Village Pump
  • Upcoming Events: to list meetups, conferences and other events that we could participate in
Product lists

See also the list of ideas collected on the 2013 Roadmap mindmap.