How openfoodfacts/openfoodfacts-server works
Product Opener is the web server for Open Food Facts and Open Beauty Facts, supporting an open product database and contribution through barcode scanning and product information. The available tree and excerpts emphasize browser features and data-import utilities rather than the server’s main request handlers or persistence layer, so the graph shows only supported interactions and keeps separate utilities distinct where their runtime wiring is not shown.
Main entry points: search.js Search controls · barcode-scanner.js Barcode scanning · barcode-scanner-button.js Scanner button · import_product_categories_from_public_database_process.tt.js Category import
Components 23
Product experience
- Product display
html/js/display.js - Search ranking
html/js/product-search.js - Search controls
html/js/search.js - Product history
html/js/product-history.js - Product preferences
html/js/product-preferences.js - Map display
html/js/display-map.js - Tag views
html/js/display-list-of-tags.js - Folksonomy search
html/js/search.js
Contribution flows
- Barcode scanning
html/js/barcode-scanner.js - Scanner button
html/js/barcode-scanner-button.js - Image editor
html/js/image-editor.js - File upload
templates/web/pages/import_file_upload/import_file_upload.tt.js - Format selection
templates/web/pages/import_file_select_format/import_file_select_format.tt.js - Category import
templates/web/pages/import_product_categories_process/import_product_categories_from_public_database_process.tt.js - Import job status
Data preparation
- Tag uploader
scripts/imports/folksonomy_engine/csv2folksonomyEngineTags.js - Food data import
scripts/imports/fdc/main.py - Taxonomy generation
scripts/taxonomies/generators/00_run_all.py - Packager refresh
scripts/packager-codes/main.py
External services
- Folksonomy Engine
- Public data sources
Other components
- Contributors
- Product database
Connections 18
- Contributors → Barcode scanning: scan barcode
- Scanner button → Barcode scanning: starts scan
- Contributors → Image editor: edit images
- Contributors → File upload: upload file
- Contributors → Format selection: map columns
- Category import → Import job status: polls status
- Contributors → Search ranking: view matches
- Contributors → Search controls: set criteria
- Search controls → Folksonomy Engine: fetch keys
- Contributors → Product display: view product
- Contributors → Product history: view history
- Contributors → Product preferences: set preferences
- Contributors → Map display: view map
- Contributors → Tag views: browse tags
- Tag uploader → Folksonomy Engine: uploads tags
- Public data sources → Food data import: provides data
- Public data sources → Taxonomy generation: provides mappings
- Public data sources → Packager refresh: provides records