Changes

Jump to navigation Jump to search
m
Alex-off moved page Student projects/GSOC/Proposals/2017 to Student projects/GSOC/2017 ideas list: consistency with 2022 and 2023
Line 1: Line 1:  +
= Old list =
 +
 +
The new list for 2018 projects is here: https://en.wiki.openfoodfacts.org/Student_projects/GSOC/Proposals
 +
 +
 
Here is the list of [http://world.openfoodfacts.org Open Food Facts] proposed projects for the [https://summerofcode.withgoogle.com/ Google Summer of Code]. <br>
 
Here is the list of [http://world.openfoodfacts.org Open Food Facts] proposed projects for the [https://summerofcode.withgoogle.com/ Google Summer of Code]. <br>
 
Any questions can be asked on the dedicated channel on Slack (https://openfoodfacts.slack.com/messages/summerofcode)
 
Any questions can be asked on the dedicated channel on Slack (https://openfoodfacts.slack.com/messages/summerofcode)
 +
 +
= Match OpenCorporates data to OpenFoodFacts with simple user controls =
 +
OpenCorporates is an ODBL licensed dataset with an API. Many of the companies that manufacture food have a specific legal entity which should be identifiable in OpenCorporates.
 +
 +
From https://github.com/openfoodfacts/openfoodfacts-server/issues/1072
 +
* Capture the legal entity (name, street address, suburb, state, country or similar geographic modelling)
 +
* When country/state are present, provide users with an autocomplete control looking up the OpenCorporates API
 +
* Suggest matches based on suburb, state, country(jurisdiction) and name; setting an OpenCorporatesID
 +
    
= Integrate a cloud-based OCR into Product Opener =
 
= Integrate a cloud-based OCR into Product Opener =
Line 8: Line 22:  
* Add support to search into OCR results
 
* Add support to search into OCR results
 
* Create a mini-game to let users turn the Raw OCR into data<br><br>
 
* Create a mini-game to let users turn the Raw OCR into data<br><br>
 +
See also:[[Project:OCR]]
 
'''Mentor:''' Stephane (backend), Sebastien (backend), Johannes (backend), Laurent (backend), Pierre (OCR)<br>
 
'''Mentor:''' Stephane (backend), Sebastien (backend), Johannes (backend), Laurent (backend), Pierre (OCR)<br>
 
'''Technologies:''' Perl, MongoDB
 
'''Technologies:''' Perl, MongoDB
Line 28: Line 43:  
'''Technologies:''' good knowledge of Swift, Knowledge and interest in UI/UX<br>
 
'''Technologies:''' good knowledge of Swift, Knowledge and interest in UI/UX<br>
   −
= Define a proper clean API (new version) =
+
= Define a proper RESTful API (new version) =
 
The current REST API of the Open Food Facts database was built with time and can be improved from the point of view of its completitude, consistency and error management. This proposal is about defining and implementing a new API, thought from scratch and built by learning from the lessons of the previos experience. Solutions like Swagger can be envisaged to create a self documenting API and automatic bindings for various programming languages, but the proposal is not limited to this.<br><br>
 
The current REST API of the Open Food Facts database was built with time and can be improved from the point of view of its completitude, consistency and error management. This proposal is about defining and implementing a new API, thought from scratch and built by learning from the lessons of the previos experience. Solutions like Swagger can be envisaged to create a self documenting API and automatic bindings for various programming languages, but the proposal is not limited to this.<br><br>
 
'''Mentor:''' Anca, Stéphane, Vincent (API design), Aleene<br>
 
'''Mentor:''' Anca, Stéphane, Vincent (API design), Aleene<br>
Line 37: Line 52:  
This is about creating a game that would be a fun way to discover more about food or cosmetics and/or contribute to Open Food/Beauty Facts.
 
This is about creating a game that would be a fun way to discover more about food or cosmetics and/or contribute to Open Food/Beauty Facts.
 
<br><br>
 
<br><br>
'''Mentor:''' TBD<br>
+
'''Mentor:''' TBD (Anca)<br>
 
'''Technologies:'''  Java, Swift/ObjC or Web technologies (Cordova…)
 
'''Technologies:'''  Java, Swift/ObjC or Web technologies (Cordova…)
   Line 43: Line 58:  
Many core concepts of the Open Food Facts environment are organized as taxonomies (multilanguage categories of products, additives, etc).
 
Many core concepts of the Open Food Facts environment are organized as taxonomies (multilanguage categories of products, additives, etc).
 
Currently, we use a wiki based system for managing these taxonomies, that we have to reload in the Product Opener server every time we make updates to it. This is error prone and requires maintenance work. This feature is about adding a system in the Product Opener to allow moderators to define parent categories, add translations, wikidata links, etc. See [[Global taxonomies]] for more details on taxonomies<br><br>
 
Currently, we use a wiki based system for managing these taxonomies, that we have to reload in the Product Opener server every time we make updates to it. This is error prone and requires maintenance work. This feature is about adding a system in the Product Opener to allow moderators to define parent categories, add translations, wikidata links, etc. See [[Global taxonomies]] for more details on taxonomies<br><br>
'''Mentor:''' Stephane (backend), Sebastien (backend), Johannes (backend), Laurent (backend), Anca<br>
+
'''Mentor:''' Stephane (backend), Sebastien (backend), Johannes (backend), Laurent (backend), Anca (frontend)<br>
 
'''Technologies:''' Perl, some HTML/JS
 
'''Technologies:''' Perl, some HTML/JS
   Line 69: Line 84:     
= Product comparison implemented in the mobile app =
 
= Product comparison implemented in the mobile app =
An important usage of the Open Food Facts database is in the are of products comparison. Currently, some comparison tools exist (e.g. displaying products on a chart, comparison of nutrition facts with the average of a category), but they are not complete and they are only available on the web. This feature is about bringing these tools to (one of) the mobile application(s), allowing the users to:
+
An important usage of the Open Food Facts database is in the area of products comparison. Currently, some comparison tools exist (e.g. displaying products on a chart, comparison of nutrition facts with the average of a category), but they are not complete and they are only available on the web. This feature is about bringing these tools to (one of) the mobile application(s), allowing the users to:
 
* compare pairs of products (one-to-one), scanned by bar codes or input by text (supermarket mode)
 
* compare pairs of products (one-to-one), scanned by bar codes or input by text (supermarket mode)
 
* bringing to mobile the feature of comparing nutritional info of products of the same category
 
* bringing to mobile the feature of comparing nutritional info of products of the same category
 
* bringing charts to
 
* bringing charts to
 
* etc.<br><br>
 
* etc.<br><br>
'''Mentor:''' Stephane, Anca, Pierre<br>
+
'''Mentor:''' Stephane, Anca, Pierre, Qian(Android), herau (Android), itchix (Android), aleene (iOS)<br>
 
'''Technologies:''' Mobile language (see above on the mobile proposals), UI/UX, Statistics basics<br>
 
'''Technologies:''' Mobile language (see above on the mobile proposals), UI/UX, Statistics basics<br>
   Line 84: Line 99:  
'''Technologies:''' Your language of choice. The current script is in Python, Text processing
 
'''Technologies:''' Your language of choice. The current script is in Python, Text processing
   −
= Add content management capabilities to all static pages of the product opener =
+
= Add content management capabilities to all static pages of Product Opener =
 
The Product Opener server side software contains, besides the product pages, lots of pages with helper text, explanation and extra information about the elements of the Open Food Facts environment. Currently, these texts are in the source code, or, in the best cases, stored and edited on the wiki and regularily migrated to the Open Food Facts database site. This project is about implementing / integrating a content management system to allow this content to be easily authored by moderators of the site.<br><br>
 
The Product Opener server side software contains, besides the product pages, lots of pages with helper text, explanation and extra information about the elements of the Open Food Facts environment. Currently, these texts are in the source code, or, in the best cases, stored and edited on the wiki and regularily migrated to the Open Food Facts database site. This project is about implementing / integrating a content management system to allow this content to be easily authored by moderators of the site.<br><br>
 
'''Mentor:''' Anca, Stephane or Sebastien <br>
 
'''Mentor:''' Anca, Stephane or Sebastien <br>
Line 94: Line 109:  
* Display them in a human readable way on relevant pages and as tooltips
 
* Display them in a human readable way on relevant pages and as tooltips
 
* Expose this information in the API.<br><br>
 
* Expose this information in the API.<br><br>
'''Mentor:''' Pierre<br>
+
'''Mentor:''' Pierre (wikidata)<br>
 
'''Technologies:''' Perl, REST, Open data concepts, Wiki data<br>
 
'''Technologies:''' Perl, REST, Open data concepts, Wiki data<br>
   Line 101: Line 116:  
<br><br>
 
<br><br>
 
'''Mentor:''' depending on your tech choice<br>
 
'''Mentor:''' depending on your tech choice<br>
'''Technologies:''' Any web language (Rail, Python, Backend JS framework)<br>
+
'''Technologies:''' Any web language (Rail, Python, Backend JS framework…)<br>
    
= Create a bot to perform smart edits on the products =
 
= Create a bot to perform smart edits on the products =
Open Food Facts has a basic bot system. You will have to design sensible rules and create an edition bot based on it.<br><br>
+
Open Food Facts already has a couple of basic editing bots in Perl and Ruby. You will have to expand the bindings of your choice, and design a series of sensible edition rules and create an easy to use edition bot based on it.<br><br>
'''Mentor:''' Pierre<br>
+
'''Mentor:''' Pierre (Python), Nicolas (Ruby)…<br>
 +
'''Technologies:''' Pick your favorite
 +
 
 +
= Create a contribution quality score =
 +
Predict if a contribution is of high or low quality using several signals and techniques
 +
'''Mentor:''' Stéphane…<br>
 
'''Technologies:''' Pick your favorite
 
'''Technologies:''' Pick your favorite
 +
 +
= Create an Android Wear lookup app =
 +
Enable browsing Open Food Facts with Android Wear. For lack of a camera, You will use the native input methods to type the barcode, and design simple way to access the most essential information<br><br>
 +
'''Mentor:'''Qian, Herau, itchix<br>
 +
'''Technologies:'''<br>
    
= Create a Google Cardboard / Daydream compatible viewer app =
 
= Create a Google Cardboard / Daydream compatible viewer app =
Enable browsing Open Food Facts in VR with Google Cardboard or Google Daydream. Bonus point if you enable contributions using the camera.<br><br>
+
Enable browsing Open Food Facts in VR with Google Cardboard or Google Daydream.<br><br>
'''Mentor:'''<br>
+
'''Mentor:'''Qian, Herau<br>
 
'''Technologies:'''<br>
 
'''Technologies:'''<br>
 +
 +
= Expand the Hololens prototype =
 +
Niwra has created a Hololens able to display multilingual ingredients in your field of view. Finish implemeting the API (labels, categories) in the Hololens app. Add contribution abilities (taking photos)
 +
'''Mentor:'''Niwra<br>
 +
'''Technologies:'''UWP, C…<br>
 +
    
= Create a connected microwave prototype =
 
= Create a connected microwave prototype =
*[[Project:Microwave]]<br><br>
+
* Create a connected microwave prototype that uses Open Food Facts data and a barcode scanner or computer vision techniques to assess products taken in and out of the microwave, find the product and choose the right cooking programme accordingly.
'''Mentor:'''<br>
+
[[Project:Microwave]]<br><br>
'''Technologies:''' Probably: Arduino<br>
+
'''Mentor:'''Qian<br>
 +
'''Technologies:''' Arduino or your own<br>
    
= Create a connected fridge prototype =
 
= Create a connected fridge prototype =
Create a connected fridge prototype that uses Open Food Facts data and a barcode scanner or computer vision techniques to assess products taken in and out of the fridge, calculate calorie input by user and is able to create a list of things to buy again.<br><br>
+
Create a connected fridge prototype that uses Open Food Facts data and a barcode scanner or computer vision techniques to assess products taken in and out of the fridge, calculate calorie input by user and is able to create a list of things to buy again.<br>
'''Mentor:'''<br>
+
'''Mentor:'''Qian<br>
'''Technologies:''' Probably: Arduino<br>
+
'''Technologies:''' Arduino or your own
    
= Create a smart bin prototype =
 
= Create a smart bin prototype =
<br><br>
+
Create a smart bin prototype that uses Open Food Facts data and a barcode scanner or computer vision techniques to assess products thrown away in the bin, and give recycling instructions.<br>
'''Mentor:'''<br>
+
'''Mentor:'''Qian<br>
'''Technologies:''' Probably: Arduino<br>
+
'''Technologies:''' Arduino or your own<br>
    
= Your own idea =
 
= Your own idea =
Line 144: Line 176:  
*[[Project:Google Glass]]
 
*[[Project:Google Glass]]
   −
  −
*[[Project:OCR]]
   
*[[Project:ProductOpener]]
 
*[[Project:ProductOpener]]
   
*[[Project:Redesign]]
 
*[[Project:Redesign]]
 
*[[Project:Food establishments]]
 
*[[Project:Food establishments]]
199

edits

Navigation menu