Difference between revisions of "Student projects/GSOC/2017 ideas list"

From Open Food Facts wiki
Jump to navigation Jump to search
Line 43: Line 43:
 
=== Refactor the API ===
 
=== Refactor the API ===
  
 
+
Use Swagger to create a self documenting API and automatic bindings for various programming languages.
  
 
=== Create a power contribution tool ===
 
=== Create a power contribution tool ===

Revision as of 15:50, 31 January 2017

Here is the list of Open Food Facts proposed projects for the Google Summer of Code.
Any questions can be asked on the dedicated channel on Slack (https://openfoodfacts.slack.com/messages/summerofcode)

Projects common to Open Food Facts and Open Beauty Facts

Improve the Cross-platform mobile app

The Open Food Facts mobile app is the key component to contribute.The easier it is for contributors to contribute a product, the faster the base grows. This project is about turning the current Cordova app in a first class application, using all the latest bells and whistles to improve user experience and contributions.

Mentor:TBD
Language:Strong UX skills, good HTML and Javascript, good knowledge of Cordova and mobile development

Integrate a cloud-based OCR into Product Opener

  • Process all uploaded images proactively using Tesseract and/or the New Cloud based engine
  • Store JSON and return a processed version to mobile client and/or web client for suggestions to the user
  • Add support to search into OCR results
  • Create a mini-game to let users turn the Raw OCR into data

Mentor:Stéphane or Laurent
Language:Perl


Add editing capabilities to the Cordova app (for Android, iOS and Windows Phone)

Open Food Facts and Open Beauty Facts rely on crowdsourcing. The easier it is for contributors to complete a product, the faster the base grows. This project is about improving the contribution flow on the mobile app.

Mentor:Stéphane and Pierre
Language:Strong UX skills, good knowledge of Cordova, good HTML and Javascript

Add editing capabilities to the Native Android app

Open Food Facts and Open Beauty Facts rely on crowdsourcing. The easier it is for contributors to complete a product, the faster the base grows. This project is about improving the contribution flow on the mobile app.

Mentor:Herau, Itchix and Pierre
Language:Strong UX skills, good knowledge of Android Java

Improve the UX of the native iOS app (Food Viewer)

Mentor:Aleene
Language:Strong UX skills, good knowledge of Swift

Improve the edit workflow on the web and mobile web versions

Open Food Facts and Open Beauty Facts rely on crowdsourcing. The easier it is for contributors to complete a product, the faster the base grows. This project is about improving the contribution flow online.

Mentor:Stéphane and Pierre
Language:Strong UX skills, good HTML and Javascript, some knowledge of Perl

Refactor the API

Use Swagger to create a self documenting API and automatic bindings for various programming languages.

Create a power contribution tool

Open Food Facts and Open Beauty Facts rely on crowdsourcing. The easier it is for contributors to complete a product, the faster the base grows. This projects is about creating a standalone power-edit tool using the API

Mentor:depending on your tech choice
Language:Any web language (Rail, Python, Backend JS framework)

Create an Open Food Facts mobile game

Imagine a game where products would be useful items on your quest, and scanning them would unlock bonuses, Lifepoints… 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.

Mentor:TBD
Language: Java, Swift/ObjC or Web technologies (Cordova…)

Create a system to update taxonomies from Product Opener

Currently, we use a wiki based system for taxonomies, that we have to reload. This is error prone and requires maintenance work. This project would be about adding a system into product opener to let moderators define parent categories, add translations, wikidata links and various properties.

Mentor:Stephane or Laurent
Language: Perl, some HTML/JS

Make Product Opener able to show revisions

Food and cosmetics change over time. Nutrition info, ingredients sometimes slightly change. Our contributors are here to document all that using photos, and then update the product. Product Opener already stores basic changes, but once a product is edited, we can't see how it evolved over time. It would be tremendously interesting for nutrition science and contributors to be able to see how (positive) change happens over time.

Mentor:Stephane or Laurent
Language: Perl, some HTML/JS

Improve Bulk Import of images

We currently have a very basic system to bulk-import images and create products accordingly. The project would be to create a web interface for this system for contributors, with a way to recognize barcodes, sort images by timestamp/name/manually. A basic moderation system will ensure data quality.
The project will be tested with a massive trove of images that will be eventually imported into Open Food Facts if the project is successful.

Mentor:Stephane (mainly for the API and product-opener requirements)
Language: Your choice: will require both front and backend-skills.

Migrate Product Opener to GetText

Open Food Facts is a global project. We need it to be available in as many languages as possible. Currently we use a custom system that makes it complicated to translate Open Food Facts. Your task will be to make Product Opener use GetText, and migrate the current translations.

Mentor:Stephane + Pierre
Language: Perl. GetText knowledge a plus.

Pentest and audit the Product Opener codebase

Product Opener is open source, but we require contributors to ask for access to the code for security reasons: the code hasn't been properly audited yet. Your task will be to audit the code and proposes fixes as you find flaws.

Mentor:Stephane
Language: Perl, Security background.

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. Mentor:Pierre
Language: Pick your favorite

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.

Your own idea

You can of course propose your own great idea, as long as it's suitable in terms of workload with the requirements of the Summer of Code.


Open Food Facts specific projects

Create tooling to import all EU-packaging codes

EU packaging codes are those little logos on food that -once decyphered- will tell you where the product was packaged and produced. Unfortunately, the data comes in many formats (XLS, CSV, HTML, and yes, even PDF). This project is building on the basic Python script we have for 3 countries, and extend it to the rest of Europe. Bonus point if you add Fishing codes and Recyclable Paper codes to that. Mentor:Pierre
Language: Your language of choice. The current script is in Python

Create a connected microwave prototype

Create a connected fridge prototype

Create a smart bin prototype

Open Beauty Facts specific projects

Mentors

  • Name or pseudonym - Skills - Available time for mentoring
  • Add yourself !

Other ideas