The current version is #ident "@(#)$Format:LocalFoodAI_lanfr144:project_report.md:%an:%ae:%ad:%cn:%ce:%cd:%H:%D:%N$"
[!NOTE] Dynamic Version Control: This document is versioned under the master Git ID:
The current version is #ident "@(#)$Format:LocalFoodAI_lanfr144:project_report.md:%an:%ae:%ad:%cn:%ce:%cd:%H:%D:%N$". All file versions and commit histories below are extracted directly from the live Git metadata logs.
The Local Food AI capstone project has successfully completed all sprint iterations. The system stands fully verified, containerized, and documented.
llama3.2:3b model (2.2 GB) with structured XML Chain-of-Thought (CoT) calculations. Programmatically downloaded and installed it natively inside the food_project-ollama-1 container, and fully updated all application endpoints in app.py.192.168.130.161. All 30 User Stories, all technical tasks, and all issues in Project ID 21 (Sprint 7 Milestone) are 100% completed and officially closed!192.168.130.170.backup_db.sh) and local offline single-node fallback capabilities (docker-compose_skip.yml).manage_services.sh to allow developers to safely stop, start, and restart all microservices in the proper dependency order without triggering redundant online ingestion sequences.Below is an exhaustive catalog of every critical file in the repository, detailing its path, functional purpose, and active Git version tags.
Note: This chapter is compiled in landscape layout inside Project.pdf to guarantee complete columns readability.
| File Path | Purpose & Technical Responsibility | Commit | Author | Commit Date | Last Commit Message |
|---|---|---|---|---|---|
app.py./app.py |
Core Streamlit Web Application. Hosts the clinical food search engine, the RAG chat dietitian interface (utilizing Ollama and SearXNG tool calling), and the visual plate builder. | 1e316d1 |
Lange François | 2026/06/16 09:25:09 | [#1] Render Mermaid flowcharts, relative cross-linking, and clean up RCS $ placeholders |
ingest_csv.py./ingest_csv.py |
High-performance background database loader. Stream-reads and batch-inserts the 3GB OpenFoodFacts dataset into MySQL using Pandas chunking and optimizes indices post-load. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
unit_converter.py./unit_converter.py |
Mathematical converter engine that parses natural recipe volume inputs (e.g. cups, spoons) and converts them to metric weights based on macro density mappings. | e758e4f |
Lange François | 2026/06/15 04:29:33 | [#1] Update regenerated documentation PDFs and Git filters placeholders |
snmp_notifier.py./snmp_notifier.py |
Observability SNMP utility. Formulates and transmits raw SNMP trap payloads to the central Zabbix monitoring server on critical application failures. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
configure_zabbix_alerts.py./configure_zabbix_alerts.py |
DevOps provisioning script. Uses the Zabbix API to automatically set up host groups, custom templates, items, triggers, actions, and media types for alerts. | 4fa24a4 |
Lange François | 2026/06/17 14:10:03 | [#1] Fix page 2 text loss, scale header logos, add DOPRO1 to footer, purge hardcoded secrets, and add header/footer guidelines |
configure_zabbix_email.py./configure_zabbix_email.py |
Security & Monitoring. Configures email media types and SMTP server routes for Zabbix alert notifications on system downtime. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
zabbix_telemetry.py./zabbix_telemetry.py |
Monitoring agent daemon. Queries active application statistics, memory, and query timers to supply Zabbix telemetry indicators. | e758e4f |
Lange François | 2026/06/15 04:29:33 | [#1] Update regenerated documentation PDFs and Git filters placeholders |
check_users.py./check_users.py |
Security utility. Verifies user accounts inside the MySQL users table and checks password hashing complexity. |
a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
rotate_passwords.py./rotate_passwords.py |
Administrative credential utility. Cycles and re-encrypts database passwords within the .env secret file. |
a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
myloginpath.py./myloginpath.py |
MySQL credential companion helper that simplifies the generation of encrypted login path configuration profiles. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
data_sync.sh./data_sync.sh |
Master pipeline coordinator. Supports download fetching in --online mode and local file processing in offline fallback mode. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
backup_db.sh./backup_db.sh |
Resiliency backup automation. Runs mysqldump on user tables inside the active container and prunes backups older than 7 days. | 1e316d1 |
Lange François | 2026/06/16 09:25:09 | [#1] Render Mermaid flowcharts, relative cross-linking, and clean up RCS $ placeholders |
reset.sh./reset.sh |
Teardown script. Wipes local temporary containers and prunes volume locks during crashes. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
proper_reset.sh./proper_reset.sh |
High-level administrative wipe script that brings the entire network stack and repositories back to a pristine state. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
deploy.sh./deploy.sh |
Naked OS installation guide. Installs necessary system packages, Python venv libraries, and native Ollama. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
start_batch_ingest.sh./start_batch_ingest.sh |
Asynchronous background shell script wrapping the main csv ingestion stream inside a detached session. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
download_csv.sh./download_csv.sh |
Downloader helper script that fetches specific smaller subsets of OpenFoodFacts CSV files. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
master_trigger.sh./master_trigger.sh |
Orchestrator script that wakes and verifies multiple secondary subservices in sequence. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
manage_services.sh./manage_services.sh |
DevOps service manager script. Handles automated, sequential startup, shutdown, restart, and health checking of all container elements in the stack. | 1e316d1 |
Lange François | 2026/06/16 09:25:09 | [#1] Render Mermaid flowcharts, relative cross-linking, and clean up RCS $ placeholders |
generate_docs.py./generate_docs.py |
Dynamic doc generator. Generates and mirrors all markdown manuals under /docs with live Git log metadata injection. |
96165a3 |
Lange François | 2026/06/17 12:26:52 | [#1] Fix PDF invisible text layer, Acrobat Reader save on close warning, custom headers and footers, and database partitioning Mermaid chart |
docker-compose.yml./docker-compose.yml |
Main 10-container Docker orchestration map defining MySQL, App UI, Ollama Engine, SearXNG, Nginx proxy, Airflow stack, and Zabbix server suites. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
docker-compose_skip.yml./docker-compose_skip.yml |
Resilient 8-container offline/local single-node orchestration manifest. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
docker-compose-wsl.yml./docker-compose-wsl.yml |
WSL2-specific Docker Compose configuration file. Configures services with a +20 port shift to guarantee zero port conflicts on developer workstations. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
alembic.ini./alembic.ini |
Alembic configuration setting routing database connection URIs for versioning schemas. | 1701828 |
Lange François | 2026/06/11 08:26:59 | [TG-131] Purge database passwords from tracked files and format application versioning |
my.cnf./my.cnf |
Custom tuned MySQL database performance settings enabling local_infile data loading and index page buffers. | 1701828 |
Lange François | 2026/06/11 08:26:59 | [TG-131] Purge database passwords from tracked files and format application versioning |
.env./.env |
Secret storage container holding encrypted MySQL user passwords and active environment flags. | ca3877d |
lanfr144 | 2026/05/13 11:15:42 | Stop save the .env file |
.gitattributes./.gitattributes |
Git clean/smudge layout mapping enabling automatic tracking of dynamic #ident "@(#)$Format:LocalFoodAI_lanfr144:project_report.md:%an:%ae:%ad:%cn:%ce:%cd:%H:%D:%N$" metadata expansion within version files. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
requirements.txt./requirements.txt |
Python runtime dependency catalog storing strict library versioning constraints. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
INSTALL_WSL.md./INSTALL_WSL.md |
WSL2 deployment guide. Provides step-by-step instructions for installing and deploying the application inside WSL2 with port shifts. | 4fa24a4 |
Lange François | 2026/06/17 14:10:03 | [#1] Fix page 2 text loss, scale header logos, add DOPRO1 to footer, purge hardcoded secrets, and add header/footer guidelines |
taiga/local-food-ai-1-36f35ff9-da1b-4eb5-9309-058448c998.json./taiga/local-food-ai-1-36f35ff9-da1b-4eb5-9309-058448c998ad.json |
Historical Taiga Agile export. Contains the complete project history, including all closed user stories, tasks, and sprint configurations. | d768ead |
Lange François | 2026/06/01 07:44:40 | TG-221 #closed - Last commit to sync all the file to ship to the teacher. |
scripts/generate_pdfs.py./scripts/generate_pdfs.py |
PDF document builder. Converts all markdown documentation manuals under /docs into high-fidelity PDF format with expanded Git version headers. |
bc29bef |
Lange François | 2026/06/17 14:16:34 | [#1] Center title between header logos, draw images in background, and shift top content margin to prevent collisions |
scripts/generate_project_report.py./scripts/generate_project_report.py |
Technical project report generator. Automatically gathers codebase structure, Git commit metadata, and purpose records to construct the Project.pdf report. | 2a1cfbe |
Lange François | 2026/06/16 19:21:55 | [#1] Fix code block line wrapping and replace literal $ placeholders with correct #ident formatting in descriptions |
scripts/setup_deploy.py./scripts/setup_deploy.py |
DevOps deployment script. Orchestrates local and VM container sets, verifying network connectivity and system parameters. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
scripts/taiga_sync_final.py./scripts/taiga_sync_final.py |
Taiga automated synchronization helper. Pushes bug tickets, fills wiki pages, and assigns unassigned user stories. | a701972 |
Lange François | 2026/06/16 18:25:32 | [#1] Fix PDF corruption via renormalization and add Uninstall Guide for WSL and Windows |
An overview of the folder hierarchy organizing our microservice infrastructure:
alembic/: Contains automated schema database migration revision files.docker/: Houses distinct production container configurations for /app (Streamlit) and /ingest (Ingestion).docs/: Living Capstone document manuals (Markdown & high-fidelity compiled PDFs).nginx/: Houses the reverse proxy configuration (nginx.conf) forwarding local port 80 traffic.scripts/: Collection of admin scripts, deployment automation, and PDF compilation generators.searxng/: Core configuration files (settings.yml) securing private, localized search operations./backups directory on the host server to ensure the 7-day backup retention loop executes correctly without disk space leaks.