Knap[Snack] is a Python-based tool that uses mixed-integer linear programming to help you create personalised, cost-effective meal plans while meeting specific nutritional requirements. It takes into account macronutrients (proteins, carbohydrates, fats), micronutrients (vitamins, minerals), and water to ensure a balanced diet tailored to your age, gender, and health goals.
Visualise the repo structure here.
Running Locally
-
Install server dependencies
uv venv source .venv/bin/activate uv sync --frozen -
Install client dependencies
cd client pnpm install --frozen-lockfile -
Configure environment variables
Create a
.envfile in the project root and add any required environment variables.
Open two terminal windows:
Terminal 1:
make devTerminal 2:
cd client
pnpm dev