Project 1A - GLO-3002 H26 team 14
- Akram Ilyes Metehri
- Bernice Tang Ngoufo
- Djamel Yanis Saliou Yoni
- Ons Kechiche
- Sandrine Comeau
- Steeve Dabire
📌 Building an enriched Open Food Facts Canada database by grouping and deduplicating products into a single, more complete local database. This project is based on OpenFoodFactCanada and implemented with DuckDB.
.
├── pipeline/
├── webscraping/
├── docker-compose.yml
└── README.md
- uv is recommended. You can visit the link for more details on installation. on mac/linux :
curl -LsSf https://astral.sh/uv/install.sh | shon windows user:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"- Docker Desktop. You need Docker to run the pipeline and embedding.
The project is divided into 2 independent services that run separately (with a Docker container) and scraping scripts located in their own folder.
Pipeline — downloads data from Open Food Facts Canada, generates vector embeddings, identifies and groups product duplicates, and then consolidate the data using dbt models. See the specific README for full details.
Scraper — scripts that can be run manually to scrape grocery store websites. See the specific README for full details.
📌 Construction d'une base de données Open Food Facts Canada enrichie en regroupant et dédupliquant les produits dans une base locale consolidé. Cette itération du projet est basée sur OpenFoodFactCanada et implémentée avec DuckDB.
.
├── pipeline/
├── webscraping/
├── docker-compose.yml
└── README.md
- uv est conseillé. Vous pouvez visiter le lien pour plus de détails sur l'installation.
curl -LsSf https://astral.sh/uv/install.sh | sh- Docker Desktop. Il vous faut docker pour lancer la pipeline et l'embedding
Le projet est divisé en 2 services indépendants qui s'exécutent séparément dans un container Docker et des scripts de scraping qui sont dans leur propre dossier.
Pipeline — télécharge les données d'Open Food Facts Canada, génère des embeddings vectoriels, identifie et regroupe les doublons de produits, puis enrichit les données via dbt. Voir le README spécifique pour tous les détails.
Scraper — scripts pouvant être roulés manuellement pour faire le scraping de sites d'épiceries. Voir le README spécifique pour tous les détails.