Line 2: |
Line 2: |
| 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) |
− |
| |
− | == 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.
| |
− | <br><br>
| |
− | '''Mentor:'''TBD<br>
| |
− | '''Language:'''Strong UX skills, good HTML and Javascript, good knowledge of Cordova and mobile development<br>
| |
| | | |
| === Integrate a cloud-based OCR into Product Opener === | | === Integrate a cloud-based OCR into Product Opener === |
Line 14: |
Line 7: |
| * Store JSON and return a processed version to mobile client and/or web client for suggestions to the user | | * 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 | | * 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> |
| '''Mentor:'''Stéphane or Laurent<br> | | '''Mentor:'''Stéphane or Laurent<br> |
− | '''Language:'''Perl | + | '''Technologies:'''Perl, MongoDB |
| | | |
| | | |
| === Add editing capabilities to the Cordova app (for Android, iOS and Windows Phone) === | | === 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. | + | 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 adding full editing capabilities on the Cordova mobile app (currently, only image capture is possible). |
| <br><br> | | <br><br> |
| '''Mentor:'''Stéphane and Pierre<br> | | '''Mentor:'''Stéphane and Pierre<br> |
− | '''Language:'''Strong UX skills, good knowledge of Cordova, good HTML and Javascript<br> | + | '''Technologies:'''Strong UX skills, good knowledge of Cordova, good HTML and Javascript<br> |
| | | |
| === Add editing capabilities to the Native Android app === | | === 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. | + | 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 adding full editing capabilities on the native Android mobile app (currently only image capture is possible). |
| <br><br> | | <br><br> |
| '''Mentor:'''Herau, Itchix and Pierre<br> | | '''Mentor:'''Herau, Itchix and Pierre<br> |
− | '''Language:'''Strong UX skills, good knowledge of Android Java<br> | + | '''Technologies:'''Strong UX skills, good knowledge of Android Java<br> |
| | | |
| === Improve the UX of the native iOS app (Food Viewer) === | | === Improve the UX of the native iOS app (Food Viewer) === |
− | '''Mentor:'''Aleene<br> | + | Insert description. |
| + | '''Mentor:'''Aleene, Pierre<br> |
| '''Language:'''Strong UX skills, good knowledge of Swift<br> | | '''Language:'''Strong UX skills, good knowledge of Swift<br> |
− |
| |
− | === 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.
| |
− | <br><br>
| |
− | '''Mentor:'''Stéphane and Pierre<br>
| |
− | '''Language:'''Strong UX skills, good HTML and Javascript, some knowledge of Perl<br>
| |
| | | |
| === Refactor the API === | | === Refactor the API === |
| + | Use Swagger to create a self documenting API and automatic bindings for various programming languages. |
| | | |
− | Use Swagger to create a self documenting API and automatic bindings for various programming languages.
| + | '''Mentor:'''Anca, Stéphane, Vincent, Aleene<br> |
| + | '''Technologies:'''Experience with using (and building) APIs, REST |
| | | |
| === Create a power contribution tool === | | === Create a power contribution tool === |
Line 76: |
Line 66: |
| '''Language:''' Your choice: will require both front and backend-skills. | | '''Language:''' Your choice: will require both front and backend-skills. |
| | | |
− | === Migrate Product Opener to GetText === | + | === Bulk edit with web GUI for mass product modifications === |
− | 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<br>
| |
− | '''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<br>
| |
− | '''Language:''' Perl, Security background.
| |
| | | |
| === Create a bot to perform smart edits on the products === | | === Create a bot to perform smart edits on the products === |
Line 96: |
Line 77: |
| Enable browsing Open Food Facts in VR with Google Cardboard or Google Daydream. Bonus point if you enable contributions using the camera. | | 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 === | + | === Re-work gamification and make it an important part of the User experience === |
− | 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.
| + | ... |
| | | |
| + | === Product comparison implemented in the mobile app === |
| + | * 2 by 2, scanned by bar codes or input by text (supermarket mode) |
| + | * the web feature of comparing nutritional info of products of the same category |
| + | * charts on mobile |
| + | * other usages of comparisons |
| | | |
− |
| |
− | == Open Food Facts specific projects ==
| |
| === Create tooling to import all EU-packaging codes === | | === 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). | | 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). |
Line 108: |
Line 92: |
| '''Mentor:'''Pierre<br> | | '''Mentor:'''Pierre<br> |
| '''Language:''' Your language of choice. The current script is in Python | | '''Language:''' Your language of choice. The current script is in Python |
| + | |
| + | === Add content management capabilities to all static pages of the product opener === |
| + | * |
| + | * |
| | | |
| === Create a connected microwave prototype === | | === Create a connected microwave prototype === |
Line 114: |
Line 102: |
| === Create a smart bin prototype === | | === Create a smart bin prototype === |
| | | |
− | == Open Beauty Facts specific projects == | + | === 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. |
− | | |
− | | |
− | == Mentors ==
| |
− | * Name or pseudonym - Skills - Available time for mentoring
| |
− | * '''Add yourself !'''
| |
| | | |
| == Other ideas == | | == Other ideas == |