{"id":17115071,"url":"https://github.com/plnech/menugen","last_synced_at":"2025-07-22T11:04:22.686Z","repository":{"id":71322200,"uuid":"75311848","full_name":"PLNech/MenuGen","owner":"PLNech","description":"An intelligent generator of well-balanced meals.","archived":false,"fork":false,"pushed_at":"2016-12-01T17:21:08.000Z","size":30073,"stargazers_count":27,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-13T04:12:19.929Z","etag":null,"topics":["balanced-meals","cooking","food","generator","genetic-algorithm","machine-learning","meals","morphology","nutritional","scraping","taste"],"latest_commit_sha":null,"homepage":null,"language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/PLNech.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2016-12-01T16:37:15.000Z","updated_at":"2024-10-03T04:41:45.000Z","dependencies_parsed_at":"2023-03-23T08:04:37.346Z","dependency_job_id":null,"html_url":"https://github.com/PLNech/MenuGen","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/PLNech/MenuGen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLNech%2FMenuGen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLNech%2FMenuGen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLNech%2FMenuGen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLNech%2FMenuGen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/PLNech","download_url":"https://codeload.github.com/PLNech/MenuGen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/PLNech%2FMenuGen/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266481732,"owners_count":23935938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-22T02:00:09.085Z","response_time":66,"last_error":null,"robots_txt_status":null,"robots_txt_updated_at":null,"robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["balanced-meals","cooking","food","generator","genetic-algorithm","machine-learning","meals","morphology","nutritional","scraping","taste"],"created_at":"2024-10-14T17:21:29.265Z","updated_at":"2025-07-22T11:04:22.669Z","avatar_url":"https://github.com/PLNech.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MenuGen | An Intelligent Generator of Balanced meals\r\n\r\nMenuGen is a school project that solves an eternal issue : *What are we going to eat tonight?*\r\n\r\nTo solve this issue, MenuGen asks you a few questions about your morphology, your food tastes and allergies or diets, before generating well-balanced meals for the next week!\r\n\r\n# How does it work?\r\n\r\nFirst, we setup MenuGen:\r\n- Scrape recipes on the internet, storing the ingredients along with the steps to cook it\r\n- Match the ingredients to [OpenFoodFacts](http://fr-en.openfoodfacts.org/) to evaluate the nutritional value of each recipe\r\n- Store these in a `PostGreSQL` database and wait for users\r\n\r\nThen, when you want to generate a meal:\r\n- Create an account, entering basic morphological informations that let us calculate your [Basal Metabolic Rate](https://en.wikipedia.org/wiki/Basal_metabolic_rate)\r\n- Match this calorie count to the WHO nutritional recommendations to derive your needs in proteins/carbs/fats\r\n- Run a Genetical Algorithm that will iterate on potential menus based on your tastes and diet to optimize the nutritional value of your meals\r\n- Display the result in a nice dashboard where you can remove dishes, reorder meals, print a shopping list, etc.\r\n\r\n# How do I use it?\r\n\r\nFor now there is no hosted instance of MenuGen. If you want to run it on your machine, follow these steps:\r\n\r\n## Configure the development environment\r\n\r\n### Python\r\n\r\nInstall the following packages: `python3 python3-pip`\r\n\r\nThen run from the root of the project:\r\n\r\n    sudo pip install virtualenv\r\n    virtualenv -p python3 .venv\r\n    source .venv/bin/activate\r\n    pip install -r requirements.txt\r\n\r\nTo disable the python virtual environment, run `deactivate`\r\n\r\n### Front-end\r\n\r\n    cd application \r\n\r\nInstall Bower + Grunt:\r\n\r\n    npm install -g grunt-cli bower\r\n\r\nInstall Assets:\r\n\r\n    npm install \u0026\u0026 bower install\r\n\r\nCompile Assets:\r\n\r\n    grunt\r\n\r\n\r\n### Django\r\n\r\nInitialize and configure the development database:\r\n\r\n    ./manage.py makemigrations\r\n    ./manage.py migrate\r\n\r\nCreate your super user:\r\n\r\n    ./manage.py createsuperuser\r\n\r\n## Run the development server\r\n\r\nFirst check if you're using the virtualenv. If not, run\r\n\r\n    source .venv/bin/activate\r\n\r\nThen you can run the server with\r\n\r\n    ./manage.py runserver\r\n\r\n* project root - [http://127.0.0.1:8000](http://127.0.0.1:8000)\r\n* administration interface - [http://127.0.0.1:8000/admin](http://127.0.0.1:8000/admin)\r\n\r\n## Migrate your local database\r\n\r\nWhen models are edited, you must compute the necessary migrations from your database state, then migrate with\r\n\r\n    ./manage.py makemigrations\r\n    ./manage.py migrate\r\n\r\n## Manage data in the database\r\n\r\nLoad initial data (so far the ingredients):\r\n\r\n    ./manage.py loaddata initial_data\r\n\r\nNote: initial_data is reloaded every migration\r\n\r\nCreate a fixture (snapshot from the data currently in the database):\r\n\r\n    ./manage.py dumpdata \u003e menus/fixtures/myfixture.json\r\n\r\nLoad a fixture:\r\n\r\n    ./manage.py loaddata myfixture\r\n\r\nFill ingredients directly from the csv:\r\n\r\n    ./manage.py fill_db\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplnech%2Fmenugen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fplnech%2Fmenugen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fplnech%2Fmenugen/lists"}