6,323
edits
(Created page with "Project 7: Build a taxonomy editor Description: Taxonomies are at the heart of openfoodfacts in many aspects. It helps identify components (ingredients, labels, brands,…)...") |
No edit summary |
||
Line 1: | Line 1: | ||
=== Build a taxonomy editor === | |||
Description: | Description: | ||
Taxonomies are at the heart of openfoodfacts in many aspects. It helps identify components (ingredients, labels, brands,…) and link them to useful properties, at the base of nutri-score, eco-score, allergens identification and some other properties. | Taxonomies are at the heart of openfoodfacts in many aspects. It helps identify components (ingredients, labels, brands,…) and link them to useful properties, at the base of nutri-score, eco-score, allergens identification and some other properties. | ||
Each taxonomy is a DAG (directed acyclic graph) where leaves have one or more parents. Currently the taxonomy is in a raw text file in our repository: https://github.com/openfoodfacts/openfoodfacts-server/tree/main/taxonomies. | Each taxonomy is a DAG (directed acyclic graph) where leaves have one or more parents. Currently the taxonomy is in a raw text file in our repository: <nowiki>https://github.com/openfoodfacts/openfoodfacts-server/tree/main/taxonomies</nowiki>. | ||
While effective for the application, this format is quite cumbersome to edit for contributors. | While effective for the application, this format is quite cumbersome to edit for contributors. | ||
Line 14: | Line 14: | ||
The tool should: | The tool should: | ||
help quickly find an element with a search | * help quickly find an element with a search | ||
* help visualize the hierarchy of components | |||
help visualize the hierarchy of components | * help visualize the component, it’s synonyms in multiple languages | ||
* indicate inherited properties for an element, and signal when there are more than one | |||
help visualize the component, it’s synonyms in multiple languages | * enable edition of those names, synonyms and properties | ||
* run some validation on names, synonyms and properties (no duplicate, specific formats, etc.) | |||
indicate inherited properties for an element, and signal when there are more than one | |||
enable edition of those names, synonyms and properties | |||
run some validation on names, synonyms and properties (no duplicate, specific formats, etc.) | |||
As a bonus, it would be really interesting to know the impact of a modification on the application. For that we could imagine simple API’s (one for each taxonomy) on the openfoodfact application to visualize which products would be affected by a change. This feedback could be a really interesting tool to ensure no error is made (unexpected side effects) | As a bonus, it would be really interesting to know the impact of a modification on the application. For that we could imagine simple API’s (one for each taxonomy) on the openfoodfact application to visualize which products would be affected by a change. This feedback could be a really interesting tool to ensure no error is made (unexpected side effects) | ||
Line 32: | Line 27: | ||
Skills required/preferred: The candidate should be creative, but also have a good logical thinking capacity and also be able to track possible problems ahead. | Skills required/preferred: The candidate should be creative, but also have a good logical thinking capacity and also be able to track possible problems ahead. | ||
Slack channels: #taxonomies | * Slack channels: #taxonomies | ||
* Potential mentors: Stéphane Gigandet / Alexandre Garel | |||
Potential mentors: Stéphane Gigandet / Alexandre Garel | * Project duration: 350h | ||
* Difficulty rating: Medium | |||
Project duration: 350h | |||
Difficulty rating: Medium |