Clean recipes for playful home cooks. A calm little recipe corner for weeknight dinners, cozy breakfasts, and anything that tastes better with a hand-drawn note in the margin.
- Browse a catalog of recipes
- Add your own recipes with ingredients, steps, and an image
- Mark recipes as favorites
- View full recipe details
- Data persists between sessions via
localStorage
- React + React Router
- Context API for global state
- Vite
- Nix flake for reproducible dev environment and deployment
If you have Nix installed with flakes enabled, run the app directly without cloning or installing anything manually:
nix run github:Meatra0704/LeftoversThis builds and serves the app at http://localhost:3000.
Requires Node.js 24+.
git clone https://github.com/Meatra0704/Leftovers.git
cd Leftovers
npm install
npm run devsrc/
├── components/ # Reusable UI components (Button, RecipeCard, Navbar, etc.)
├── context/ # RecipeContext — global recipe state and localStorage sync
├── data/ # Mock recipe data used on first load
├── pages/ # Route-level views (Home, Catalog, AddRecipe, Favorites, etc.)
├── styles/ # Global styles and CSS reset
├── App.jsx
└── main.jsx
A project report covering approach, React concepts used, and challenges
faced is available at docs/report.typ.
This project is licensed under the MIT License. Copyright (c) 2026 Cal & Meatra.
