# Meal Planner

A web-based meal planning application with favorites, history, and notes.

## Features

- 1-week meal planning (7 days × 4 meals: Breakfast, Lunch, Dinner, Snacks)
- Favorites - star meals for quick access
- History - automatically saves previous weeks
- Notes - add notes to any meal slot
- Dark/Light theme
- Print support
- Data syncs across all devices

## Prerequisites

- [Docker](https://docker.com)
- [Docker Compose](https://docs.docker.com/compose/)

### VM Resources

Minimal resources required:

- **CPU**: 1 core
- **RAM**: 1-2 GB
- **Storage**: 1 GB
- **OS**: Any Linux (tested on Alpine, Debian, Ubuntu)

The app is lightweight and will run comfortably on even the smallest cloud VMs.

## Deployment

### Quick Start

1. Clone the repository:
```bash
git clone http://10.10.10.192:3000/ledadmin/Meal-Planner.git
cd Meal-Planner
```

2. Build and run with Docker Compose:
```bash
docker-compose up -d --build
```

3. Access the app at:
```
http://localhost:3001
```

### Customization

- **Change port**: Edit `docker-compose.yml` and change `"3001:3001"` to your preferred port
- **Data persistence**: The `data.json` file stores all meals, favorites, history, and notes

### Updating

To update to the latest version:
```bash
git pull origin master
docker-compose up -d --build
```

## Tech Stack

- Frontend: React + Vite
- Backend: Node.js + Express
- Storage: Local JSON file
- Container: Docker + Alpine

## License

MIT
