- Live demo
- Description
- Poster
- Installation
- User manual and features
- Activity diagram
- External data source
- Checklist
https://lisannevvliet.github.io/ethical-food-checker/
The Ethical Food Checker is designed to help consumers make more responsible choices in the supermarket. By scanning the barcode of a product or typing in the product name, the user can find out in less than a minute whether the product is vegetarian or vegan, if it contains palm oil, and what its Eco-Score is. The website uses the Open Food Facts API and shows worldwide products, to ensure that the user finds the right product.
To view, visit the website. To make local modifications, clone the repository and edit the files in an IDE.
To use the Ethical Food Checker, simply enter the name or barcode of a product and click "Search." It is also possible to scan a barcode using the camera in Google Chrome and Microsoft Edge. Upon searching, a list of matching products will be displayed, as well as the corresponding labels. The meaning of the labels can be found by moving the cursor over the labels, or by clicking on "Explanation" in the lower left corner of the screen. Besides the product names and labels, pictures and ingredients can also be found in this overview. Lastly, there is an option to sort the results by popularity, product name, date added and date edited.
The external data source that is featured in this project is the Open Food Facts API. From this API, the following properties are used:
- code (for barcodes)
- search_terms (for product names)
- page
- sort_by
- product_name
- image_small_url
- ingredients_text
- ingredients_analysis_tags (for vegetarian, vegan and palm oil information)
- ecoscore_grade
The completed tasks can be found in the commit messages. The following tasks could not be completed in the set time frame, but would be nice to have.
- Vegetarian, vegan, palm oil free and Eco-Score filters.
- Only fetch results sold in specific countries, with the ability to choose the country.
- Expand the picture when clicked in higher quality.
- Auto-reload new products at the bottom of the page.
- Keep the product name in place when expanding a lot of ingredients.
- Remember the sort options when reloading the page, by storing it in the hash.