From d1534934c0ff80b8a851381fcdec19021deff6de Mon Sep 17 00:00:00 2001 From: jableader Date: Sat, 18 Oct 2025 14:06:24 +1100 Subject: [PATCH] Readme updates --- README.md | 87 +++++++++++++++++++---- refactor-strategy.md | 164 ++++++------------------------------------- 2 files changed, 97 insertions(+), 154 deletions(-) diff --git a/README.md b/README.md index e8aebb7..e836aa7 100644 --- a/README.md +++ b/README.md @@ -1,29 +1,92 @@ -# doof-front +## Munch Ease — Plan, Cook, Shop, Repeat -## Project setup +Munch Ease is a snappy Vue 3 app that helps you plan meals, manage recipes, and turn plans into stress-free shopping lists. Search and save recipes, build your weekly meal plan, and seamlessly check items off your shopping list—everything stays in sync so you can focus on what’s cooking. -``` +Built with modern Vue patterns, a clean API layer, and lightweight tests, the project is easy to extend and fun to work on. + +--- + +## Quick start + +1) Install dependencies + +```bash npm install ``` -### Compiles and hot-reloads for development +2) Run the dev server -``` +```bash npm run serve ``` -### Compiles and minifies for production +3) Run unit tests (Vitest) +```bash +npm run test ``` + +4) Build for production + +```bash npm run build ``` -### Lints and fixes files +Environment +- API base URL: set VUE_APP_API_BASE (e.g. http://localhost:8081) -``` -npm run lint -``` +--- -### Customize configuration +## Architecture and conventions -See [Configuration Reference](https://cli.vuejs.org/config/). +The codebase follows clear boundaries and Vue 3 Composition API throughout. + +- Routing and auth + - Centralized in `src/router/index.js` with named routes and an auth guard via route meta `requiresAuth`. + - Components use `useRouter/useRoute` for navigation and route access. + +- API layer and mappers + - `src/api/http.js` is a tiny JSON fetch wrapper that honors `VUE_APP_API_BASE`. + - Feature services live in `src/api/*` (meals, recipes, shopping, auth, persons). + - Normalization lives in `src/api/mappers/*` (e.g., date parsing, shape cleanup). + +- Composables (UI-facing logic) + - Reusable logic in `src/composables/*` (useAuth, useMeals, useShopping). + - Components stay thin: data via refs/reactive, effects via computed/watch. + +- Components + - All Single File Components use `