aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--README.md44
1 files changed, 28 insertions, 16 deletions
diff --git a/README.md b/README.md
index 58f458b..04d4525 100644
--- a/README.md
+++ b/README.md
@@ -6,7 +6,7 @@ chores).
- SvelteKit (Svelte 5 runes) + adapter-node, no separate front/back. Mobile-first CSS
- SQLite via **@libsql/client** + Drizzle ORM
- Plain CSS (no framework), Vitest for tests, Prettier + ESLint flat config
-- Multi-stage Docker image (node:26-slim), served behind Caddy
+- Multi-stage Docker image
## Notable choices
@@ -22,25 +22,26 @@ chores).
### Groceries
Two core concepts: the **catalog** (every item you've ever added) and the
-**list** (what to buy next). Adding an item puts it on the list; checking it
-off moves it back to the catalog. Items already on the list are marked as
-such in the catalog. Unchecked items stay on the list for the next shopping
-trip — there is only one persistent list.
+**list** (unchecked items — what to buy next). Adding an item creates it (or
+unchecks an existing one). Checking an item off simply marks it done; it
+remains visible in the catalog with a strikethrough. Unchecked items persist
+on the list for the next shopping trip — there is only one persistent list.
**Three modes of use:**
1. **Quick add** — during the week, you run out of milk or need an ingredient.
- Open the app, search, tap to add. As frictionless as possible so you
+ Open the app, type the name, tap to add. As frictionless as possible so you
build the habit.
2. **Planning** — before shopping, sit down with your partner and browse the
- catalog. Re-add whatever you're missing. The catalog view stays open
- after each add (sticky mode), so going through 20–30 items is not
- frustrating. Stale one-off items can be deleted from the catalog.
+ catalog. Tap unchecked items to add them back to the list. The page
+ does not reload, so going through 20–30 items is not frustrating.
+ Stale one-off items can be deleted from the catalog.
3. **Shopping** — items are grouped by category (matching store aisles).
- Check off as you grab them. Multiple devices, same list — both partners
- can check things off in sync.
+ Check off as you grab them. Multiple devices can use the same list,
+ but live sync is not implemented yet — refresh to see your partner's
+ changes.
**Product references** — some items like "coffee" or "pasta" aren't generic.
For these you can record one or more reference brands, each with a name,
@@ -49,15 +50,26 @@ you're unsure which brand you usually buy or you spot an alternative, you
can compare against your references right from the item. If a new brand
wins, you can add it or switch the reference.
-**Categories** — items are auto-categorized (LLM-assisted) and can be
-manually adjusted. Categories correspond to physical store aisles for an
-efficient shopping walk.
+**Categories** — items are manually assigned to categories. Categories
+correspond to physical store aisles for an efficient shopping walk.
+
+**PWA** — installed as a standalone app via `@vite-pwa/sveltekit`. Service
+worker precaches assets; works offline after first visit.
## TODO
+### Bugs / Polish
+
- [ ] Live updates from server
-- [ ] Bug: adding a ref triggers the Enregistré timeout
-- [ ] Feature: from catalog, multi select and add in batch to category
+- [ ] Search/filter in list and catalog
+- [ ] Fixed category order in both lists (drag to reorder aisles)
+
+### Features
+
+- [ ] From catalog, multi-select and add in batch to the list
+- [ ] Update item name/category on blur, no explicit save button
+- [ ] Auto-categorize new items (LLM-assisted)
+- [ ] Chores module (intro already promises "groceries, chores")
## Deploy