Menu Maker by Qwenta

Project management and technical scoping for Menu Maker by Qwenta. Tool-assisted tech watch, justified technical specifications, and agile planning (Kanban), with clear presentations for a non-technical sponsor.

1. Context

• Client: Qwenta, a “Menu Maker” solution for restaurateurs who want to build and format menus easily.

• Team: Artdantech, Webgencia, Soufiane (Product Owner), John (Qwenta project manager), UI designer (desktop mockup).

• Deliverables: tech watch presentation (≤ 15 slides) + link to the watch tool, technical specifications (≤ 15 pages) following Webgencia’s template, project planning (≤ 15 slides) + link to the management tool + complete Kanban board, final presentation (≤ 20 slides) for John with a visual technical solution and a communication plan.

• Starting point: desktop mockup, functional specs, Notion user stories, technical spec template to complete.

2. Need

• Set up a relevant, sustainable, documented, and shareable technical watch to inform solution choices.

• Define and justify the Menu Maker technical specifications (architecture, data model, security, accessibility, performance, export strategy).

• Organize agile project management: Kanban, prioritization, estimates, milestones, RACI, and a clear communication plan with Qwenta.

3. Client / Stakeholders

• End users: restaurateurs (menu creation/editing), potentially Qwenta team (support/validation), restaurant customers (public viewing depending on scope).

• Stakeholders: John (project manager), Soufiane (PO), Webgencia (scoping/planning), UI designer (mockup).

4. Goals

4.1 Functional

• Menu Maker: create, edit and manage menus, sections and items (dishes, drinks), prices, descriptions, visuals, and styles/themes (per functional specs).

• Responsive preview and printable/PDF export with layout fidelity to the mockup (templates).

• Save/load menus, duplicate, lightweight versioning and sharing (public URL or export — per validated scope).

• Authentication and basic permissions (restaurateur/Qwenta team — per specs).

4.2 Technical

• Modular front/back architecture, documented data model, export strategy (print CSS or PDF service), accessibility (WCAG AA), and performance.

• Project tooling: watch (Feedly/Notion/Raindrop), management (Jira/Trello/Notion), diagrams (Miro/Excalidraw/diagrams.net), communication (agile rituals).

5. Constraints / Challenges

• Non-technical sponsor: requires simplification through diagrams and functional mockups.

• Short timeline before validation meeting: prioritize P1, secure a clear MVP, keep options open.

• Print/export quality and cross-medium visual consistency (web/print), image handling (weight, DPI, cropping).

• Security and GDPR considerations if user accounts/asset storage are in scope.

6. Process / Methodology

6.1 Analysis

• Cross-read: functional specs, desktop mockup (flows + prototype), Notion user stories (priority, acceptance criteria).

• Alignment: map user stories ↔ screens ↔ components; identify P1/P2/P3, dependencies and risks (export, image upload, performance).

• Pre-scoping: open assumptions to validate in the meeting (server-side PDF vs print CSS, asset storage, authentication).

6.2 Task breakdown (Kanban)

• Scoping/Design: clarification workshops, glossary, “Definition of Ready/Done”, diagrams (C4, flows, ERD).

• Technical: front architecture, API/back (if needed), data model, export strategy, media handling, accessibility/performance.

• Product: menu builder (drag & drop UI or structured editing), templates/themes, preview, save/load.

• Quality: test scenarios (test plan), unit tests / optional E2E, reviews, a11y/perf checks.

• Project: agile rituals, communication plan, milestones, demos.

• Kanban columns: To do / In progress / To test / Done, with owners, involved actors, estimates, and clear descriptions.

6.3 Architecture & logic

• Front (proposal): React SPA + TypeScript, state management (Redux Toolkit/Zustand), modular UI components, forms/validation (React Hook Form + Zod), printing via @media print queries.

• Back (if required): Node.js (Express/Nest), REST API, database (PostgreSQL) for menus/sections/items/themes/users, image storage (S3 or equivalent).

• Export:
  – Option A (client-side): print CSS + CSS pagination, generate PDF via “Print to PDF” (simple, fast, moderate control).
  – Option B (server-side): headless service (Puppeteer) generating a stable, high-fidelity PDF (better control, higher cost).

• Data model (example):
  – User: { id, name, email, role }
  – Menu: { id, title, themeId, createdAt, updatedAt, ownerId }
  – Section: { id, menuId, title, order }
  – Item: { id, sectionId, name, description, price, tags[], imageUrl, order }
  – Theme: { id, name, palette, typography, spacing, layout }

6.4 Technical choices (rationale)

• TypeScript for reliability and maintainability of the builder; Zod validation to secure data structure.

• React for live editing and preview; drag & drop library (e.g., dnd-kit) if item reordering is required.

• Export: start with print CSS (MVP), then move to server-side PDF if higher fidelity/control is needed.

• Accessibility from the start (semantic structure, focus handling, contrast), performance (optimized images, virtualization for long lists).

6.5 Main flows

• Onboarding: create account/menu project (per scope), choose a template.

• Editing: add/edit items, reorder, style/theme, upload images with constraints (weight/dimensions).

• Preview: live responsive rendering + print mode; validate pagination for export.

• Save/Share: save draft, duplicate, PDF/print export, public link (depending on validated scope).

6.6 Tests & quality

• Test plan: scenarios per user story (Given/When/Then), acceptance criteria, edge cases (large menus, missing prices, heavy images).

• Quality: WCAG AA checklist, performance (Lighthouse), responsive checks, regression prevention on builder and export.

• Demos: sprint reviews, feedback from John/Soufiane, backlog updates and re-estimation.

7. Analysis

• Project success depends on a well-scoped MVP: structured editing, reliable preview, and sufficiently good print export, with a clear path to server-side PDF if needed.

• Justifying choices (simplicity, cost, timeline) is critical for a non-technical sponsor; the tech watch supports these decisions and future evolution.

8. Technical decisions

• Tech watch: Feedly/Raindrop/Notion (sources: a11y, performance, PDF/print CSS, design systems, WYSIWYG editors, drag & drop, SSG/SPA).

• Project management: Jira/Trello/Notion (Kanban, estimates, dependencies, RACI), Miro/diagrams.net for diagrams.

• Standards: WCAG 2.1 AA, GDPR, web performance best practices (images, lazy-load, bundles).

9. Resolution logic

• Review docs → start and categorize the tech watch → write justified technical specs → set up project tooling and Kanban → split/estimate P1 → prepare presentations (watch, planning, technical solution + communication plan) → rehearse and iterate.

10. Stack used

• Proposal: React + TypeScript, Redux Toolkit/Zustand, React Hook Form + Zod, dnd-kit (optional), CSS Modules/SCSS; Node/Express + PostgreSQL + S3 (if backend is needed); Puppeteer (advanced PDF option).

• Tools: Notion/Jira/Trello (Kanban), Feedly/Raindrop (tech watch), Miro/Excalidraw (diagrams), Figma (mockup).

11. Final outcome

• Tech watch deck (≤ 15 slides) with a configured tool link, categorized/commented/shareable sources.

• Complete, justified technical specs (≤ 15 pages), including architecture, data model, export options, and accessibility/performance/security.

• Planning deck (≤ 15 slides) with a shareable Kanban board (assigned tasks, stakeholders, estimates, clear descriptions), milestones, and agile rituals.

• Final deck (≤ 20 slides) for John: clear technical diagrams + project communication plan (cadence, formats, contacts).