Skip to content

ArmaanjeetSandhu/knapsnack

Repository files navigation

Knap[Snack] : The Meal Planner

Header Image

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

Prerequisites

Setup

  1. Install server dependencies

    uv venv
    source .venv/bin/activate
    uv sync --frozen
  2. Install client dependencies

    cd client
    pnpm install --frozen-lockfile
  3. Configure environment variables

    Create a .env file in the project root and add any required environment variables.

Running

Open two terminal windows:

Terminal 1:

make dev

Terminal 2:

cd client
pnpm dev
Deployment

Deploying to Heroku

  1. Log in to Heroku

    heroku login
  2. Set the remote

    heroku git:remote -a knapsnack
  3. Deploy

    git push heroku main

About

The Cost-Optimized Meal Planner

Topics

Resources

Stars

Watchers

Forks

Contributors