
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).
