Line 12:
Line 12:
=== 🎨 Design & Mockups ===
=== 🎨 Design & Mockups ===
* [https://www.figma.com/design/nFMjewFAOa8c4ahtob7CAB/Mobile-App-Design-(Quentin)?node-id=8030-3524&t=vdcyF3J0GsDNelgh-0 Figma board with some mockups]
* [https://www.figma.com/design/nFMjewFAOa8c4ahtob7CAB/Mobile-App-Design-(Quentin)?node-id=8030-3524&t=vdcyF3J0GsDNelgh-0 Figma board with some mockups]
+
+
== Ingredient cards for Open Beauty Facts ==
+
+
=== Rationale ===
+
Bottom white cards with text, generated from several sources. Would open on clicking the ingredient from the Ingredient analysis tab of Open Beauty Facts.
+
+
=== Mockup ===
+
We want to display it likeso:
+
{| class="wikitable"
+
|COMBRETUM FARINOSUM FLOWER NECTAR
+
+
Combretum Farinosum Flower Nectar is the liquid collected from the flowers of Combretum farinosum.
+
+
Functions: Masking
+
|-
+
|More on Wikipedia Browse products with this ingredient
+
|}
+
+
=== Taxonomy file ===
+
+
=== Excerpt of the taxonomy ===
+
+
==== COSING ingredients list ====
+
[[/static.openbeautyfacts.org/data/taxonomies/ingredients-cosing-obf.json|https://static.openbeautyfacts.org/data/taxonomies/ingredients-cosing-obf.json]]
+
+
"en:combretum-farinosum-flower-nectar":{
+
+
"inci_update_date":{
+
+
"en":"24/04/2014"
+
+
},
+
+
"cosing":{
+
+
"en":"90172"
+
+
},
+
+
"inci_functions":{
+
+
"en":"en:masking"
+
+
},
+
+
"inci_description":{
+
+
"en":"Combretum Farinosum Flower Nectar is the liquid collected from the flowers of Combretum farinosum."
+
+
},
+
+
"name":{
+
+
"en":"COMBRETUM FARINOSUM FLOWER NECTAR"
+
+
}
+
+
}
+
+
==== INCI Functions ====
+
[[/static.openbeautyfacts.org/data/taxonomies/inci functions.json|https://static.openbeautyfacts.org/data/taxonomies/inci_functions.json]]
+
+
{
+
+
"en:preservative":{
+
+
"name":{
+
+
"fi":"Säilöntäaine",
+
+
"sv":"Konserverande",
+
+
"pl":"Konserwująca",
+
+
"cs":"Konzervační přísada",
+
+
"et":"Säilitusaine",
+
+
"el":"Συντηρητικό",
+
+
"en":"Preservative",
+
+
"sl":"Konzervans",
+
+
"de":"Konservierungsstoff",
+
+
"hu":"Tricontanyl pvp",
+
+
"fr":"Conservateur",
+
+
"pt":"Conservante",
+
+
"lv":"Konservants",
+
+
"da":"Konserveringsmiddel",
+
+
"nl":"Conserveermiddel",
+
+
"lt":"Konservantas",
+
+
"es":"Conservantes",
+
+
"sk":"Konzervačná látka",
+
+
"it":"Conservante"
+
+
},
+
+
"description":{
+
+
"en":""
+
+
}
+
+
}
+
+
=== Product API ===
+
+
=== Additional API ===
+
+
=== Pseudo-Code ===
+
+
=== SVG files ===
+
+
== Ingredient warnings for Open Beauty Facts ==
+
+
=== Rationale ===
+
This bug requires using the OBF ingredient taxonomy.
+
+
[[/docs.google.com/document/d/1wzy XGPyVOfoLE-JkyKboR1Qt496FdLIP bwoaiwHl4/edit#heading%3Dh.xcvga4w8l4a|Rationale]]
+
+
[[/docs.google.com/document/d/1wzy XGPyVOfoLE-JkyKboR1Qt496FdLIP bwoaiwHl4/edit#heading%3Dh.4qox48gvle3q|1. Get the ingredient list for the product]]
+
+
[[/docs.google.com/document/d/1wzy XGPyVOfoLE-JkyKboR1Qt496FdLIP bwoaiwHl4/edit#heading%3Dh.sng9cedjnzq1|2. If an ingredient which is on the warnlist (presented at the end of the bug) is inside (or has a parent on the blocklist), display it using the Ingredient taxonomy]]
+
+
[[/docs.google.com/document/d/1wzy XGPyVOfoLE-JkyKboR1Qt496FdLIP bwoaiwHl4/edit#heading%3Dh.o01eqhsdmd3s|excerpt from the product data]]
+
+
[[/docs.google.com/document/d/1wzy XGPyVOfoLE-JkyKboR1Qt496FdLIP bwoaiwHl4/edit#heading%3Dh.cqs2uudsk4z9|Taxonomy files]]
+
+
[[/docs.google.com/document/d/1wzy XGPyVOfoLE-JkyKboR1Qt496FdLIP bwoaiwHl4/edit#heading%3Dh.3zmu0qsv87ma|Ingredient taxonomy]]
+
+
[[/docs.google.com/document/d/1wzy XGPyVOfoLE-JkyKboR1Qt496FdLIP bwoaiwHl4/edit#heading%3Dh.xq6h6wawb94a|Excerpt from the ingredient taxonomy]]
+
+
[[/docs.google.com/document/d/1wzy XGPyVOfoLE-JkyKboR1Qt496FdLIP bwoaiwHl4/edit#heading%3Dh.yjmt0ke1qiy6|Full list of ingredients to flag]]
+
+
=== 1. Get the ingredient list for the product ===
+
<nowiki>https://world.openbeautyfacts.org/api/v0/product/3282779063234.json?fields=ingredients,code</nowiki>
+
+
<nowiki>{"status_verbose":"product found","code":"3282779063234","status":1,"product":{"code":"3282779063234","ingredients":[{"text":"WATER","rank":1,"id":"water"},{"text":"AQUA","rank":2,"id":"aqua"},{"text":"SODIUM LAURETH SULFATE","rank":3,"id":"sodium-laureth-sulfate"},{"text":"POLYSORBATE 20","rank":4,"id":"polysorbate-20"},{"text":"CETEARETH-60 MYRISTYL GLYCOL","rank":5,"id":"ceteareth-60-myristyl-glycol"},{"text":"COCAMIDE MIPA","rank":6,"id":"cocamide-mipa"},{"text":"PROPYLENE GLYCOL","rank":7,"id":"propylene-glycol"},{"text":"CARAMEL","rank":8,"id":"caramel"},{"text":"CETRIMONIUM CHLORIDE","rank":9,"id":"cetrimonium-chloride"},{"text":"DISODIUM EDTA","rank":10,"id":"disodium-edta"},{"text":"FRAGRANCE","rank":11,"id":"fragrance"},{"text":"PARFUM","rank":12,"id":"parfum"},{"text":"GREEN 3","rank":13,"id":"green-3"},{"text":"CI 42053","rank":14,"id":"ci-42053"},{"text":"METHYLISOTHIAZOLINONE","rank":15,"id":"methylisothiazolinone"},{"text":"METHYLPARABEN","rank":16,"id":"methylparaben"},{"text":"PHENOXYETHANOL","rank":17,"id":"phenoxyethanol"},{"text":"POLYQUATERNIUM-22","rank":18,"id":"polyquaternium-22"},{"text":"PROPYLPARABEN","rank":19,"id":"propylparaben"},{"text":"SODIUM CHLORIDE","rank":20,"id":"sodium-chloride"},{"text":"SODIUM HYDROXIDE","rank":21,"id":"sodium-hydroxide"},{"text":"URTICA DIOICA","rank":22,"id":"urtica-dioica"},{"text":"NETTLE","rank":23,"id":"nettle"},{"text":"EXTRACT","rank":24,"id":"extract"}]}}</nowiki>
+
+
=== 2. If an ingredient which is on the warnlist (presented at the end of the bug) is inside (or has a parent on the blocklist), display it using the Ingredient taxonomy ===
+
+
==== excerpt from the product data ====
+
{"text":"PHENOXYETHANOL","rank":17,"id":"phenoxyethanol"}
+
+
=== Taxonomy files ===
+
+
==== Ingredient taxonomy ====
+
[[/static.openbeautyfacts.org/data/taxonomies/ingredients.json|https://static.openbeautyfacts.org/data/taxonomies/ingredients.json]]
+
+
==== Excerpt from the ingredient taxonomy ====
+
<nowiki>"en:phenoxyethanol":{"name":{"fr":"Phénoxyéthanol","en":"Phenoxyethanol"}}</nowiki>
+
+
If it is present, display:
+
+
With {name_en}
+
+
With Phenoxyethanol
+
+
If it is not present, display:
+
+
Without {name_en}
+
+
Without Phenoxyethanol
+
+
=== Full list of ingredients to flag ===
+
[[/static.openbeautyfacts.org/data/taxonomies/special ingredients.json|https://static.openbeautyfacts.org/data/taxonomies/special_ingredients.json]]
+
+
- Without Parabens
+
+
- Without Formaldehyde releasers
+
+
- With Allergenic fragrances
+
+
- Without Silicones
+
+
- Without Phenoxyethanol
+
+
- Without Triclosan
+
+
- Without Cetrimonium bromide
+
+
- Without Methylisothiazolinone
+
+
- Without Aluminum salts
+
[[Open Beauty Facts]]
[[Open Beauty Facts]]
[[Category:Open Beauty Facts]]
[[Category:Open Beauty Facts]]
[[Category:Knowledge panels]]
[[Category:Knowledge panels]]