mirror of
https://github.com/taogaetz/chefbible.git
synced 2025-12-06 11:47:24 -05:00
edit readme
This commit is contained in:
parent
d545663fec
commit
b0905697da
107
README.md
107
README.md
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
**ChefBible** is a self-hosted, mobile-friendly recipe and menu management tool designed for **real-world kitchen use**.
|
**ChefBible** is a self-hosted, mobile-friendly recipe and menu management tool designed for **real-world kitchen use**.
|
||||||
It is optimized for **speed**, **simplicity**, and **offline-friendly workflows** so cooks can find, read, and add recipes in **under 10 seconds**.
|
It is optimized for **speed**, **simplicity**, and so cooks can find, read, and add recipes in **under 10 seconds**.
|
||||||
|
|
||||||
The app is built with:
|
The app is built with:
|
||||||
- **SvelteKit** for UI and server logic
|
- **SvelteKit** for UI and server logic
|
||||||
@ -47,108 +47,3 @@ If a feature isn’t needed for a cook to find, read, or add a recipe in **<10 s
|
|||||||
### Menus
|
### Menus
|
||||||
- Name + optional season
|
- Name + optional season
|
||||||
- Contains recipes in sortable order
|
- Contains recipes in sortable order
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## Data Model Summary
|
|
||||||
|
|
||||||
plaintext
|
|
||||||
Recipe --(RecipeIngredient)--> Ingredient --(IngredientAllergens)--> Allergen
|
|
||||||
Menu --(MenuRecipe)--> Recipe
|
|
||||||
Tables:
|
|
||||||
Recipe: Core recipe info
|
|
||||||
|
|
||||||
Ingredient: Basic ingredient info + allergens
|
|
||||||
|
|
||||||
Allergen: Common allergen definitions
|
|
||||||
|
|
||||||
Menu: Collection of recipes
|
|
||||||
|
|
||||||
RecipeIngredient: Join table with quantity/unit/prep
|
|
||||||
|
|
||||||
MenuRecipe: Join table with position
|
|
||||||
|
|
||||||
UI Patterns
|
|
||||||
List + Detail
|
|
||||||
Recipes, ingredients, and menus use a consistent split layout: search/filter on one side, detail view on the other.
|
|
||||||
|
|
||||||
Form with Inline Add
|
|
||||||
Add missing ingredients without leaving the recipe form.
|
|
||||||
|
|
||||||
Tag/Chip Display
|
|
||||||
Allergens and prep notes shown as color-coded chips.
|
|
||||||
|
|
||||||
Kitchen Mode
|
|
||||||
Large font, high contrast, step-by-step cooking instructions.
|
|
||||||
|
|
||||||
Menu Builder
|
|
||||||
Drag-and-drop ordering of recipes in a menu.
|
|
||||||
|
|
||||||
Global Search
|
|
||||||
Accessible from anywhere with / key shortcut.
|
|
||||||
|
|
||||||
Development Phases
|
|
||||||
Phase 1 — Core Foundation
|
|
||||||
Local dev setup with repeatable builds
|
|
||||||
|
|
||||||
Postgres + Prisma migration & seed
|
|
||||||
|
|
||||||
Direct Prisma usage in +page.server.ts actions
|
|
||||||
|
|
||||||
Phase 2 — Minimum Usable UI
|
|
||||||
CRUD for recipes, ingredients, menus
|
|
||||||
|
|
||||||
Recipe form with ingredient selector + allergen auto-mapping
|
|
||||||
|
|
||||||
Phase 3 — Internal Dogfooding
|
|
||||||
Fast search
|
|
||||||
|
|
||||||
Menu builder
|
|
||||||
|
|
||||||
Mobile-first adjustments
|
|
||||||
|
|
||||||
Phase 4 — Stability & Shareability
|
|
||||||
JSON export/import for recipes
|
|
||||||
|
|
||||||
Refined allergen mapping
|
|
||||||
|
|
||||||
Search & filtering enhancements
|
|
||||||
|
|
||||||
Local Development
|
|
||||||
Prerequisites
|
|
||||||
Node.js 20+
|
|
||||||
|
|
||||||
PostgreSQL 16+ (local or Docker)
|
|
||||||
|
|
||||||
npm
|
|
||||||
|
|
||||||
Setup
|
|
||||||
bash
|
|
||||||
Copy
|
|
||||||
Edit
|
|
||||||
git clone <repo-url>
|
|
||||||
cd chefbible
|
|
||||||
|
|
||||||
npm install
|
|
||||||
|
|
||||||
# Start Postgres (example using Docker)
|
|
||||||
docker compose up -d
|
|
||||||
|
|
||||||
# Run migrations & seed
|
|
||||||
npx prisma migrate dev --name init
|
|
||||||
npx prisma db seed
|
|
||||||
|
|
||||||
# Start dev server
|
|
||||||
npm run dev
|
|
||||||
Notes for LLMs
|
|
||||||
Framework: SvelteKit with Node adapter
|
|
||||||
|
|
||||||
DB Layer: Prisma (/src/lib/server/db/*.ts contains reusable queries)
|
|
||||||
|
|
||||||
Routing: Use +page.server.ts and form actions for now; no dedicated API routes until external consumers are needed
|
|
||||||
|
|
||||||
UI: TailwindCSS utility-first design, mobile-first sizing
|
|
||||||
|
|
||||||
Performance Requirement: All page loads & actions <500ms on LAN
|
|
||||||
|
|
||||||
Design Priority: Minimal clicks, fast search, allergen visibility
|
|
||||||
Loading…
Reference in New Issue
Block a user