smart-bakery

bytharun

PB BAKE HOUSE – WEBSITE DETAILS Business Name P B Bake House Business Type Bakery & Cake Shop Address No. 6, 1st Phase Girinagar, Avalahalli, Banashankari 1st Stage, Banashankari, Bengaluru, Karnataka – 560085 Contact Number +91 89717 27805 WhatsApp Use the same number: +91 89717 27805 Business Hours Open Daily – Closes at 10:00 PM Google Rating 4.1★ (300+ Reviews) Brand Description P B Bake House is a premium bakery offering freshly baked cakes, pastries, cookies, breads, puffs, brownies, snacks, and custom celebration cakes. The bakery is known for fresh products prepared daily and serves customers looking for quality bakery items for birthdays, anniversaries, weddings, and special occasions. ⸻ Luxury Branding Instructions Logo Create a premium text logo: PB BAKE HOUSE Style: * Gold metallic typography * Elegant crown or wheat icon * Luxury bakery branding * Black background version * White background version ⸻ Luxury Color Palette Primary * Matte Black #0F0F0F * Luxury Gold #D4AF37 Secondary * Cream #FFF8E7 * Warm White #FAFAFA Accent * Rose Gold #B76E79 ⸻ Taglines Use any of these: * “Crafted Fresh. Served With Love.” * “Luxury Baking Since Day One.” * “Freshly Baked Happiness.” * “Every Bite Tells A Story.” * “Where Taste Meets Perfection.” ⸻ Product Categories Cakes * Birthday Cakes * Anniversary Cakes * Wedding Cakes * Photo Cakes * Designer Cakes * Custom Cakes Bakery * Bread * Buns * Cookies * Brownies * Pastries * Muffins Snacks * Veg Roll * Aloo Bun * Capsicum Puff * Veg Puff * Egg Puff Desserts * Choco Lava Cake * Honey Cake * Cupcakes * Donuts ⸻ Home Page Sections Hero Section Large luxury banner with: * Premium cake images * Gold typography * CTA buttons: * Order Now * Explore Menu Featured Products Best Sellers Today’s Fresh Bakes Customer Reviews About PB Bake House Instagram Gallery Google Maps Location Contact Section Bro, this project is for a real bakery business. I want you to build a complete premium full-stack e-commerce website, not just a frontend design. The website should be luxurious, modern, professional, fast, mobile-friendly, and production-ready. Reference: Use the current bakery website concept as a base, but redesign everything with a much more premium and luxury feel. The website should feel like a high-end bakery brand and compete with professional bakery websites. TECH STACK Frontend: • HTML • CSS • JavaScript Backend: • Node.js • Express.js Database: • PocketBase (for now) or PostgreSQL if preferred Authentication: • JWT Authentication • Secure Password Hashing Payments: • Razorpay Integration • UPI • Credit/Debit Cards • Net Banking Image Storage: • PocketBase Storage or Cloudinary-ready architecture CORE PAGES • Home Page • About Us • Menu / Products • Product Details • Custom Cake Order Page • Cart • Checkout • Login • Register • Forgot Password • Contact Us • Order Tracking • User Profile • Order History • Privacy Policy • Terms & Conditions LUXURY DESIGN REQUIREMENTS • Premium bakery branding • Luxury and elegant color palette • Smooth animations • Premium typography • Beautiful hero section • High-quality image galleries • Elegant product cards • Hover animations • Glassmorphism and modern UI elements where suitable • Mobile-first responsive design • Fast loading performance • Premium customer experience SPECIAL BAKERY FEATURES • Cake Categories • Birthday Cakes • Wedding Cakes • Anniversary Cakes • Designer Cakes • Cupcakes • Pastries • Cookies • Bakery Specials • Cake customization options • Weight selection • Flavor selection • Egg / Eggless option • Message on cake • Special instructions • Delivery date selection • Delivery time slot selection CUSTOM CAKE ORDER SYSTEM Customers should be able to: • Upload reference images • Select cake weight • Select flavor • Enter custom instructions • Choose delivery date • Place custom cake requests ADMIN PANEL Create a fully functional admin panel with: • Secure Admin Login • Dashboard • Add Products • Edit Products • Delete Products • Product Categories • Upload Multiple Images • Manage Inventory • Manage Orders • Manage Customers • Manage Custom Cake Requests • Manage Website Banners • Manage Featured Products • Sales Analytics • Revenue Analytics PRODUCT MANAGEMENT Products must NOT be hardcoded. Admin should be able to: • Upload photos • Change prices • Update descriptions • Change stock quantities • Add new products • Remove products • Manage categories Everything should be dynamic through the admin dashboard. USER AUTHENTICATION Implement: • User Registration • User Login • Logout • Forgot Password • Email OTP Verification • Password Reset • User Profile Management • Address Management Passwords must be encrypted securely. ORDER MANAGEMENT When a customer places an order: • Save order in database • Show order in admin dashboard • Generate unique order ID • Store delivery address • Store payment status • Store order status Order Status Flow: Pending → Confirmed → Preparing → Ready → Out for Delivery → Delivered Customers should see live status updates. PAYMENT SYSTEM Integrate Razorpay: • UPI • Debit Cards • Credit Cards • Net Banking Store payment history and transaction IDs. NOTIFICATIONS Email notifications for: • Registration • OTP Verification • Order Confirmation • Payment Confirmation • Order Status Updates • Password Reset SEARCH & FILTERS • Product Search • Category Filter • Price Filter • Featured Products • Popular Products ADDITIONAL PREMIUM FEATURES • Best Seller Section • Featured Cakes • Seasonal Offers • Festival Specials • Customer Testimonials • Photo Gallery • Instagram Feed Section • WhatsApp Order Button • Google Maps Location • Store Timings • FAQ Section SEO & PERFORMANCE • SEO Friendly URLs • Meta Tags • Structured Data • Sitemap • Fast Loading • Optimized Images • Mobile Performance Optimization DEPLOYMENT REQUIREMENTS • Fully connected backend • Database connected • Admin dashboard functional • Authentication functional • Payment integration ready • No dummy functionality • No hardcoded products • Clean folder structure • Secure API architecture • Production-ready code DEFAULT ADMIN ACCOUNT Please create a default admin account and share credentials after setup. Admin Email: admin@store.com Admin Password: Admin@123 (Temporary only. Password will be changed after deployment.) FINAL GOAL Build a premium luxury bakery e-commerce website that allows customers to browse products, customize cakes, place orders, make payments, track orders, and manage their accounts, while giving the bakery owner a complete admin system to manage products, customers, orders, inventory, banners, and website content without touching the code. The website should look and feel like a premium luxury bakery brand and be fully scalable for future growth.

LandingCartCheckoutOrderTrackingOrderHistoryUserProfileProductDetailProductsAdminPanelLoginRegister
Landing

Comments (0)

No comments yet. Be the first!

Project Tasks98

#1

Implement Navbar for Landing

To Do

As a frontend developer, implement the Navbar section for the Landing page. Build the `Navbar` component using `useState` for mobile menu toggle (`open` state). Render the `nv-root` nav with `nv-inner` containing: brand block (`nv-brand`) with 'PB' mark and 'PB Bake House / Bengaluru' text linking to `/Landing`; desktop `nv-links` mapping over `categories` array (Cakes, Bakery, Snacks, Custom Orders) with hrefs to `/Products` and `/ProductDetail`; `nv-search` label with `Search` icon (lucide-react, size 18) and text input; `nv-actions` div with `User` icon link to `/UserProfile`, `ShoppingBag` icon link to `/Cart` with `nv-cart-count` badge showing '3', WhatsApp CTA link (`nv-whatsapp`) with `MessageCircle` icon to `wa.me/919999999999`, `nv-signin` link to `/Login`, and `nv-toggle` button toggling between `X` and `Menu` icons (size 22). Mobile drawer (`nv-mobile`) conditionally rendered when `open` is true — includes mobile search, category links that call `setOpen(false)` on click, Track Order and Order History links, and mobile CTA. Import `Navbar.css`. Note: this component may already exist from a previous page if shared across the app.

AI 85%
Human 15%
High Priority
1 day
Frontend Developer
#24

Build Auth API Endpoints

To Do

As a Backend Developer, implement all authentication REST API endpoints using Spring Boot and JWT. Includes: POST /api/auth/register (user registration with BCrypt password hashing), POST /api/auth/login (JWT token generation), POST /api/auth/admin/login (admin login), POST /api/auth/forgot-password (email OTP trigger), POST /api/auth/verify-otp (OTP verification), POST /api/auth/reset-password (password reset), POST /api/auth/logout (token invalidation). Implement JWT filter, SecurityConfig, and refresh token logic. Note: Frontend Register and Login pages depend on this API.

AI 65%
Human 35%
High Priority
3 days
Backend Developer
#36

Design MySQL Database Schema

To Do

As a Backend Developer, design and implement the complete MySQL database schema for PB Bake House. Create JPA entity classes and Flyway/Liquibase migration scripts for all tables: users, admins, products, categories, product_images, orders, order_items, customer_addresses, custom_cake_orders, custom_cake_images, coupons, reviews, wishlist, cart, cart_items, payment_history, banners, store_settings, delivery_zones. Define all relationships (foreign keys, join tables), indexes for performance (product search, order lookup), and constraints. Seed initial data: default admin account (admin@store.com / Admin@123 bcrypt hashed), 4 product categories (Cakes, Bakery, Snacks, Desserts), store settings defaults.

AI 55%
Human 45%
High Priority
2 days
Backend Developer
#37

Setup Cloudinary Image Service

To Do

As a Backend Developer, configure and implement Cloudinary image upload service in Spring Boot. Set up Cloudinary SDK dependency in pom.xml, configure API key/secret/cloud name via environment variables. Create CloudinaryService bean with methods: uploadImage(MultipartFile, folder) returning secure URL, deleteImage(publicId), uploadMultiple(List<MultipartFile>, folder). Used by: product image upload (admin), custom cake reference images (customer, up to 5 per order), banner upload (admin), store logo upload (admin settings). Implement file type validation (jpg/png/webp), max size check (5MB per image), and auto image optimization presets (quality auto, format auto). Store Cloudinary public IDs in database for deletion support.

AI 65%
Human 35%
High Priority
1 day
Backend Developer
#38

Initialize Spring Boot Project

To Do

As a Backend Developer, initialize the Spring Boot project structure with all required dependencies and configuration. Set up Spring Initializr project with: Spring Web, Spring Security, Spring Data JPA, MySQL Driver, Lombok, Validation, JWT (jjwt), Cloudinary SDK, JavaMailSender, Razorpay SDK, Spring Boot Actuator. Configure application.properties for dev and prod profiles, CORS policy for frontend origin, global exception handler (@ControllerAdvice), API response wrapper (ApiResponse<T>), logging setup, and security filter chain with public/protected route definitions. Establish base package structure: controller, service, repository, entity, dto, config, util, exception.

AI 60%
Human 40%
High Priority
1 day
Backend Developer
#39

Setup Frontend Design System

To Do

As a Frontend Developer, establish the global design system and shared CSS/JS foundation for all pages. Create: CSS custom properties file (--primary, --secondary, --accent, --highlight, --bg, --surface, --text, --text-muted, --border with exact values from SRD Section 6), global typography scale using premium font pairing (e.g., Playfair Display for headings, Inter for body), base reset and normalize styles, shared utility classes for luxury spacing/shadows/transitions, reusable animation keyframes (fade-in, slide-up, glow pulse), shared JS utilities (formatINR, debounce, throttle, gsap/framer helpers), and Navbar + Footer shared component files used across all pages. Ensure mobile-first breakpoints (375px, 768px, 1024px, 1440px) are defined globally.

AI 55%
Human 45%
High Priority
2 days
Frontend Developer
#57

Implement LoginHero for Login

To Do

As a frontend developer, implement the LoginHero section for the Login page. This section renders a full 3D animated bakery icon scene using @react-three/fiber Canvas and @react-three/drei Float and MeshTransmissionMaterial. The BakeryIconScene component (via groupRef useRef + useEffect) renders a layered cake mesh using cylinderGeometry with MeshTransmissionMaterial (transmission=0.6, ior=1.2, chromaticAberration=0.02), two gold frosting torus rings using meshStandardMaterial (color='#D4AF37', metalness=0.55), 8 alternating drip sphereGeometry decorations mapped via Array.from, a cherry sphere (color='#B76E79'), a tiny stem cylinder, and a gold plate base. The Float component animates with speed=1.6, rotationIntensity=0.4, floatIntensity=0.5. The outer wrapper uses framer-motion for entrance animation. Implement LoginHero.css for the canvas container sizing and layout. Ensure THREE and all drei imports resolve correctly.

AI 85%
Human 15%
High Priority
2 days
Frontend Developer
#58

Implement LoginForm for Login

To Do

As a frontend developer, implement the LoginForm section for the Login page. This section is a controlled React form with useState hooks for email, password, rememberMe, showPassword, submitting, errors (field-level), and serverError. It includes a validate() function with regex email validation and minimum 6-char password check. The handleSubmit handler calls validate(), sets errors, sets submitting=true, then simulates an auth call via setTimeout (1200ms) that redirects to /Dashboard via window.location.href. The clearFieldError helper removes individual field errors on change. The JSX renders an lf-card with lf-card-glow overlay, 'Welcome Back' h2 heading, subheading, conditional AlertCircle (lucide-react) server error banner, email input with Mail icon and lf-input-error class toggling, password input with Lock icon and Eye/EyeOff toggle (showPassword state), a rememberMe checkbox, and a submit button with submitting spinner state. Implement LoginForm.css (7905 chars) for card glassmorphism, glow, input focus ring, error states, and button styles. Note: the simulated auth call should later be replaced with real API integration.

AI 88%
Human 12%
High Priority
1.5 days
Frontend Developer
#60

Implement ProductHero for ProductDetail

To Do

As a frontend developer, implement the ProductHero section for the ProductDetail page. This section renders a full-width product showcase using a `ph-root` container with decorative `ph-accent-top` and `ph-accent-bottom` glow divs. Implement three pieces of state via `useState`: `activeImage` (0-based index into `productImages` array of 4 Unsplash images), `isWishlisted` (boolean toggled by a Heart icon button), and `deliveryMode` ('delivery' | 'pickup'). Build the breadcrumb nav (`ph-breadcrumb`) with links to Home/Products/Cakes and a current page span. The gallery column uses `motion.div` with layout transition (0.35s easeInOut) wrapping an `AnimatePresence mode='wait'` that animates `motion.img` keyed by `activeImage`. Include prev/next arrow handlers (`handlePrevImage`, `handleNextImage`) with wraparound logic and thumbnail strip with `handleThumbClick`. The right info column displays `productData` fields: category, name, price (₹1299), originalPrice (₹1599), discount badge ('19% OFF'), weight, serves, prepTime, deliveryInfo, returns. Include a wishlist toggle button with Heart icon from lucide-react and an `handleAddToCart` stub. Show delivery mode toggle between 'delivery' and 'pickup'. Display trust badges using Truck, Clock, Calendar, RotateCcw icons from lucide-react. Apply `ProductHero.css` styles.

AI 88%
Human 12%
High Priority
1.5 days
Frontend Developer
#61

Implement ProductGallery for ProductDetail

To Do

As a frontend developer, implement the ProductGallery section for the ProductDetail page. This section manages a 5-image gallery (Unsplash sources with labels: Front, Top Angle, Slice, Detail, Plated) with rich interaction. State includes `activeIndex`, `zoomPos` ({x,y}), `zoomBg` ({x,y} as CSS percentages), `isZooming`, and `isHovering` via `useState`. Use `useRef` for `mainStageRef`, `thumbStripRef`, `touchStartX`, `touchStartY`, and `touchMoved`. Implement `goTo(index)` with modulo wraparound via `useCallback`, plus `goNext` and `goPrev` derived from it. Add a `useEffect` that scrolls the active thumbnail into view — vertically on desktop (≥768px) via `offsetTop` math, horizontally on mobile via `offsetLeft` math, both using `scrollTo({ behavior: 'smooth' })`. Implement mouse-move zoom on the main stage: track cursor position relative to `mainStageRef`, compute CSS background-position percentages, and toggle `isZooming` on mouseenter/mouseleave. Add touch swipe support using `touchStartX/Y` refs and `touchMoved` to distinguish taps from swipes. Wrap main image in `AnimatePresence` for slide transitions. Apply `ProductGallery.css` styles.

AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#62

Implement ProductInfo for ProductDetail

To Do

As a frontend developer, implement the ProductInfo section for the ProductDetail page. The section uses a `pif-root` container with a `pif-accent-bar` decorative element. State includes `hoveredAttr` (nullable index) and `attrCardsRef` (array ref for 6 attribute cards). Implement `handleAttrMouseMove` via `useCallback` that reads cursor position relative to each card via `getBoundingClientRect()` and sets `--mx`/`--my` CSS custom properties for a spotlight hover effect. Display `productData` with: title ('Belgian Chocolate Truffle Cake'), bakery name, location (Bengaluru, Karnataka), price (₹1499), rating (4.8 stars), reviewCount (326), inStock badge. Render the description paragraph. Map over `productData.attributes` (6 items with Cake, Scale, Wheat, Leaf, Clock, Award icons from lucide-react) into hoverable attribute cards wired to `attrCardsRef`. Render an ingredients list (8 items) and certifications row (FSSAI, HACCP, Vegetarian with Shield/Award/Leaf icons). Show bakery info block with phone, hours, ordersCompleted (12480), yearsInBusiness (14). Wrap the entire container in `motion.div` with `whileInView` trigger, `staggerChildren: 0.06` and `delayChildren: 0.1` container variants, plus child `itemVariants` (opacity 0→1, y 16→0, 0.45s cubic ease). Apply `ProductInfo.css` styles.

AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#63

Implement CustomizationOptions for ProductDetail

To Do

As a frontend developer, implement the CustomizationOptions section for the ProductDetail page. This is a collapsible form panel with `collapsed` boolean state toggled by a header button. Form state includes: `images` (array of {id, url, name} objects, max 5), `flavor` (from FLAVORS array with 8 options), `weight` (from WEIGHTS array with 6 options: 0.5kg–5kg), `eggPreference` ('egg' | 'eggless' radio), `message` (free text), `deliveryDate` (date string, min = tomorrow via `getTodayString()`), and `timeSlot` (from TIME_SLOTS array with 6 slots). Implement `handleImageUpload` via `useCallback` that reads `e.target.files`, caps uploads at 5 total using `remaining = 5 - images.length`, creates object URLs via `URL.createObjectURL`, and resets the file input. Implement `removeImage(id)` that calls `URL.revokeObjectURL` before filtering. Implement `handleUploadClick` that programmatically triggers `fileInputRef.current.click()`. Wire `fileInputRef` to a hidden `<input type='file' accept='image/*' multiple>`. Render image preview grid showing uploaded thumbnails with remove buttons. Render select dropdowns for flavor and weight, radio buttons for egg preference, a textarea for message (max 150 chars with counter), a date input for delivery date, and a select for time slot. Apply `CustomizationOptions.css` styles.

AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#64

Implement ProductReviews for ProductDetail

To Do

As a frontend developer, implement the ProductReviews section for the ProductDetail page. Define inline SVG icon components: `StarFull`, `StarEmpty` (with stroke), `CheckCircle`, `ThumbsUp`, `ThumbsDown`, `EditIcon`, `ChevronDown`. Use `useState` for filter/sort state and `useMemo` for filtered/sorted REVIEWS array. Render `RATING_DISTRIBUTION` (5 rows: 5★ 60%, 4★ 25%, 3★ 8.75%, 2★ 3.75%, 1★ 2.5%) as a bar chart with percentage-width fill bars. Display aggregate rating (4.8) and total count (80 reviews). Render REVIEWS array (7 items) each with: `initials` avatar, `name`, `verified` badge (CheckCircle), `date`, star row built from StarFull/StarEmpty, review `text`, and helpful/unhelpful vote buttons (ThumbsUp/ThumbsDown icons) showing counts. Implement `AnimatePresence` for review card enter/exit animations with `motion.div` stagger. Add a 'Write a Review' button triggering an expandable form panel (EditIcon). Include a 'Load More' / show-all toggle using ChevronDown. Apply `ProductReviews.css` styles.

AI 87%
Human 13%
Medium Priority
1 day
Frontend Developer
#65

Implement RelatedProducts for ProductDetail

To Do

As a frontend developer, implement the RelatedProducts section for the ProductDetail page. Render a horizontally scrollable carousel of 8 product cards using a `trackRef` on the scroll container. State includes `scrollPos`, `maxScroll`, `activeDot`, `toast` (nullable string for add-to-cart confirmation), and `tiltStates` (object keyed by product id for CSS tilt transforms). Implement `updateScrollMetrics` via `useCallback` that reads `el.scrollLeft`, `el.scrollWidth - el.clientWidth`, and computes `activeDot` from `cardWidth = firstChild.offsetWidth + 20`. Wire `updateScrollMetrics` to scroll and resize events in `useEffect` with proper cleanup. Add left/right scroll buttons using ChevronLeft/ChevronRight from lucide-react that call `trackRef.current.scrollBy({ behavior: 'smooth' })`. Render dot indicators synced to `activeDot`. Each product card shows: Unsplash image, optional badge (Top Rated / New / Popular / Trending), category label, name, price (₹1099–₹1899), and a Plus icon button from lucide-react that triggers `setToast` with the product name. Render `AnimatePresence` toast notification. Implement card tilt effect on mouse move by updating `tiltStates[id]` with rotateX/rotateY values. Apply `RelatedProducts.css` styles.

AI 87%
Human 13%
Medium Priority
1 day
Frontend Developer
#78

Implement OrderTrackingHeader for OrderTracking

To Do

As a frontend developer, implement the OrderTrackingHeader section for the OrderTracking page. This section renders a full-width header with an accent bar and radial glow overlay (`.oth-accent-bar`, `.oth-glow`). It includes: (1) an animated nav row using `motion.div` with `initial={{ opacity: 0, y: -8 }}` and `animate={{ opacity: 1, y: 0 }}` containing two lucide-react links — ArrowLeft back to `/Landing` and Package icon link to `/OrderHistory`; (2) a kinetic split-letter headline 'Track Your Order' implemented via `headlineChars.map()` with `containerVariants` (staggerChildren: 0.06, delayChildren: 0.1) and per-char `charVariants` (spring stiffness: 260, damping: 24); (3) an order number badge (`.oth-badge`) with a gold ring accent, animating from `scale: 0.88` with spring stiffness 200/damping 22, with digit characters individually animated as `.oth-gold-char` via per-index delays (0.55 + i * 0.04); and (4) an estimated delivery date row with Clock icon. Constants `ORDER_NUMBER = '#ORD-2026-001234'` and `DELIVERY_DATE = 'Tuesday, 18 June 2026'` are hardcoded. CSS in `OrderTrackingHeader.css`.

AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#79

Implement OrderStatusTimeline for OrderTracking

To Do

As a frontend developer, implement the OrderStatusTimeline section for the OrderTracking page. This section renders a 5-stage delivery progress timeline using a `stages` array with statuses: 'completed', 'completed', 'active', 'upcoming', 'upcoming'. Each stage has an icon (CheckCircle2, ChefHat, PackageCheck, Truck, Home from lucide-react), title, description, and time. A dynamic progress track (`.ost-track` / `.ost-track-fill`) calculates `progressPercent` via `stages.findIndex(s => s.status === 'active')` divided by `stages.length - 1`. The section header animates with `whileInView` (opacity 0→1, y 24→0, ease [0.16, 1, 0.3, 1]). Each stage card uses `motion.div` with `whileInView` staggered entry. An `orderInfo` object (orderId: 'PB-2026-08921', items: 3, total: '₹1,850') renders a summary footer. Uses `useState` import though not actively toggled in current render. CSS in `OrderStatusTimeline.css`.

AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#80

Implement OrderSummary for OrderTracking

To Do

As a frontend developer, implement the OrderSummary section for the OrderTracking page. This section renders a detailed order summary card (`.osm-card`) with `whileInView` animation (opacity 0→1, y 24→0). Uses `useState` for an `editing` boolean toggled by `handleEditAddress()` which auto-resets after 1800ms timeout to simulate address edit feedback. Data is sourced from `orderSummaryData` constant including: orderId 'PB-2026-0615-0042', orderDate, total '₹4,850.00', paymentStatus 'Paid' via Razorpay, deliveryType 'Delivery'. Renders an Order ID row, a detail grid (`.osm-grid`) with fields for date, total (`.osm-gold`), payment status with `.osm-status-dot`, payment method, and delivery type. Conditionally renders delivery address (Priya Sharma, 402 Silver Oak Apartments, HSR Layout) with a Pencil edit button and `AnimatePresence`-driven edit state swap (CheckCircle2/Clock icons). Lucide icons: Receipt, MapPin, CreditCard, Truck, Store, Pencil, CheckCircle2, Clock. CSS in `OrderSummary.css`.

AI 87%
Human 13%
High Priority
1 day
Frontend Developer
#81

Implement DeliveryInformation for OrderTracking

To Do

As a frontend developer, implement the DeliveryInformation section for the OrderTracking page. This section conditionally renders delivery or pickup information based on `deliveryData.isPickup` (currently false). Uses `cardVariants` with custom stagger delay (`custom={i}`) for staggered card grid (`.di-card-grid`). Cards include: (1) Estimated Delivery Date card showing date range (17–19 Jun 2026) and time slot '9:00 AM–12:00 PM' with Calendar/Clock lucide icons; (2) Pricing breakdown card with `charges` array (Subtotal ₹1,250, Delivery Fee ₹40, GST 5% ₹64.50, Packaging Free) and total ₹1,354.50 with Receipt icon; (3) Special Instructions card displaying `deliveryData.specialInstructions` text with gate code; (4) Pickup branch card (when `isPickup` is true) showing store name, address, phone, Google Maps embed, and operating hours table with today's day highlighted via `todayName` derived from `new Date().getDay()`. Section header animates with `whileInView`. Imports 13 lucide icons. CSS in `DeliveryInformation.css`.

AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#82

Implement OrderItems for OrderTracking

To Do

As a frontend developer, implement the OrderItems section for the OrderTracking page. This section renders a list of 4 ordered bakery items using `orderItems` array with staggered `motion.div` animation via `containerVariants` (staggerChildren: 0.1, delayChildren: 0.15) and `itemVariants` (opacity 0→1, y 16→0, ease [0.16, 1, 0.3, 1]). Each item card displays: name, qty, unitPrice, subtotal; optional customizations rendered as icon+label chips (lucide icons: Wheat, Cake, Leaf, Heart per customization); and optional `.oi-message` for personalized cake messages (e.g., 'Happy 10th Anniversary Priya & Rahul!'). Items include Classic Black Forest Cake (₹850), Custom Anniversary Cake with 4 customizations and anniversary message (₹1,450), Blueberry Cheesecake qty 2 (₹1,040), and Assorted Macaron Box (₹680). `totalAmount` computed via `reduce`. Heading row shows ShoppingBag icon and item count badge. Empty state renders ShoppingBag icon with fallback message. `whileInView` viewport with `-40px` margin. CSS in `OrderItems.css`.

AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#83

Implement CustomerSupport for OrderTracking

To Do

As a frontend developer, implement the CustomerSupport section for the OrderTracking page. This section renders a support options grid (`.cs-grid`) with 4 support channels defined in `supportOptions` array: WhatsApp contact (MessageCircle icon, `.cs-icon-whatsapp`, external href to wa.me), Call Us (Phone icon, `.cs-icon-phone`, tel: href), Chat with Us (MessageSquareText icon, `.cs-icon-chat`, external WhatsApp href), and View FAQs (HelpCircle icon, `.cs-icon-faq`, internal `/OrderTracking` link). Each option is a `motion.a` tag with `itemVariants` (opacity 0→1, y 20→0, ease [0.22, 0.61, 0.36, 1]) rendered via `containerVariants` stagger (staggerChildren: 0.1, delayChildren: 0.15). Section has a `.cs-accent-line` decorative element. Headline 'Need Help?' uses `headlineVariants` (y -14→0). External links receive `target='_blank'` and `rel='noopener'`. All animations use `whileInView` with `-60px` viewport margin. Lucide icons: MessageCircle, Phone, MessageSquareText, HelpCircle, ArrowRight, Clock. CSS in `CustomerSupport.css`.

AI 90%
Human 10%
Medium Priority
0.5 days
Frontend Developer
#2

Implement LandingHero for Landing

To Do

As a frontend developer, implement the `LandingHero` section using `framer-motion` scroll-parallax and spring reveal animations. Use `useRef` for `rootRef` and `useScroll` with `offset: ['start start', 'end start']` to drive `scrollYProgress`. Apply `useTransform(scrollYProgress, [0,1], ['0%','-30%'])` for `wheatY` parallax on a `motion.div` with className `lh-wheat-layer` rendering 7 `Wheat` icons (`lh-wheat--1` through `lh-wheat--7`, sizes 40–72, strokeWidth 1.5). Content div `lh-content` includes: `motion.span` eyebrow badge with `Sparkles` icon (size 14) and `springReveal(0.05)`; `motion.h1` title 'Artisan Cakes' with `lh-accent` span 'Crafted with Love' at `springReveal(0.18)`; `motion.p` subtitle at `springReveal(0.32)`; `motion.div` CTA row at delay 0.46 containing two `motion.a` buttons — `lh-btn--secondary` to `/Products` ('Explore Products') and `lh-btn--primary` to `/ProductDetail` ('Order Custom Cake') both with `whileHover={{ scale:1.05, y:-3 }}` and `whileTap={{ scale:0.97 }}`; trust points row mapping `trustPoints` array (Cake/Truck/BadgeCheck icons). Import `LandingHero.css`.

Depends on:#1
Waiting for dependencies
AI 85%
Human 15%
High Priority
1 day
Frontend Developer
#3

Implement CakeCarousel for Landing

To Do

As a frontend developer, implement the `CakeCarousel` section featuring a React Three Fiber 3D cake carousel with framer-motion overlay. Define `CAKES` array (4 items: Velvet Royale, Golden Truffle, Pistachio Bloom, Caramel Noir) with `base`, `top`, `accent` hex colors. Build `CakeMesh` component using `useRef`, `useState(localHover)`, `useFrame` for smooth scale lerp (target 1.12 on hover/active, 1 otherwise), continuous `rotation.y += delta * 0.35`, and `position.y` lift lerp. Render `RoundedBox` (cake body) and a top layer `RoundedBox` plus `Text` (drei) using cake colors and `emissive`/`emissiveIntensity` driven by hover/active state. Pointer events call `onHover(cake)` and `onClick`. Wrap in `Canvas` with `Suspense`, add `OrbitControls` (disabled when not active), `ContactShadows`, and `Environment` preset. Carousel state managed by `useRef`/`useState` for `activeIdx`, `hoveredCake`, modal open. Navigation via `ChevronLeft`/`ChevronRight` buttons. `AnimatePresence` modal overlay shows cake detail card with `ShoppingBag` add-to-cart and `X` close. `MousePointer2` drag hint shown initially. Import `CakeCarousel.css`.

Depends on:#1
Waiting for dependencies
AI 80%
Human 20%
High Priority
2 days
Frontend Developer
#4

Implement FeaturedCategories for Landing

To Do

As a frontend developer, implement the `FeaturedCategories` section with a `useInView` triggered card grid. Define `categories` array of 5 items (Signature Cakes/Cake icon, Bakery Items/Croissant, Snacks/Cookie, Desserts/IceCream2, Custom Orders/Sparkles) each with `name`, `count`, `desc`, `Icon`, `href`. Build `MagneticCard` sub-component using `useRef`, `useState({ x, y })` offset, and `onMouseMove` handler that calculates cursor distance from card center, applies `0.12` magnetic pull factor, and sets `--mx`/`--my` CSS custom props for spotlight effect (skipped on mobile `window.innerWidth < 768`). `motion.div` with `animate` driven by both `inView` visibility and live `offset.x/y` magnetic position using spring transitions. Each card renders the lucide icon in `fc-icon`, category name, count badge, description, and `fc-browse` link with `ArrowRight`. Parent section uses `useInView` on its own ref to trigger staggered reveal (index * 0.1 delay). Import `FeaturedCategories.css`.

Depends on:#1
Waiting for dependencies
AI 85%
Human 15%
High Priority
1 day
Frontend Developer
#5

Implement BestSellers for Landing

To Do

As a frontend developer, implement the `BestSellers` section displaying an 8-product grid with hover interactions. Define `products` array (Belgian Dark Truffle, Rose Pistachio Gateau, Salted Caramel Crunch, Red Velvet Royale, Hazelnut Praline Dome, Classic French Macarons, Butter Croissant Basket, Tiramisu Indulgence) each with `name`, `desc`, `price`, `weight`, `rating`, `badge`, and Unsplash `img` URL. Build `Stars` sub-component using `motion.span` per star with `whileHover` animation. Each product card uses `useState` for `added` (cart) and `wishlisted` states. Render product image with `Eye` quickview overlay button, badge chip, `Heart` wishlist toggle button (`motion.whileTap`), product name/desc, `Star` rating row, weight chip, price, and `ShoppingBag` add-to-cart button that shows `Check` icon when `added` is true (with `AnimatePresence` swap animation). Import both `BestSellers.css` and `BestSellersActions.css`. Include `ArrowRight` 'View All' link to `/Products`.

Depends on:#1
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#6

Implement CustomCakeShowcase for Landing

To Do

As a frontend developer, implement the `CustomCakeShowcase` section combining a scroll-parallax image gallery with an inline custom order form. Use `useRef(sectionRef)` with `useScroll` offset `['start end','end start']` and `useTransform(scrollYProgress,[0,1],[40,-60])` for `galleryY` on the gallery column. Manage state: `activeId` (default first image), `flavor` (from `flavors` array of 6 options), `weight` (default 1.5 kg, slider or stepper), `eggless` boolean toggle rendering `Egg`/`EggOff` icons, `message` text input, `deliveryDate` date input with `CalendarDays` icon, `timeSlot` select (default '10:00 AM – 1:00 PM'), `submitted` boolean. Gallery renders `showcaseImages` (5 items: tiered-rose, choco-drip, floral-buttercream, birthday-confetti, red-velvet) as thumbnail strip; clicking sets `activeId`. Active image shown in main panel with title/note overlay. Form side renders flavor selector, weight control, eggless toggle, cake message textarea, delivery date picker, time slot selector, and 'Start My Custom Order' button that calls `handleOrder()` setting `submitted=true` and showing a confirmation state. Wheat decorations (`Wheat` icon, size 96, strokeWidth 1.2) positioned with CSS. Import `CustomCakeShowcase.css`.

Depends on:#1
Waiting for dependencies
AI 82%
Human 18%
High Priority
1.5 days
Frontend Developer
#7

Implement CustomerTestimonials for Landing

To Do

As a frontend developer, implement the `CustomerTestimonials` section with staggered scroll-triggered card animations. Define `testimonials` array of 4 items (Ananya Rao/AR, Rohit Menon/RM, Sneha Iyer/SI, Karthik Nair/KN) each with `name`, `initials`, `meta` (Bengaluru neighbourhood), `rating`, `product`, and `review` text. Build `StarRow` sub-component rendering 5 `Star` icons (lucide-react, size 17, strokeWidth 1.6) as `motion.span` elements with `whileInView` scale animation `[0.4, 1.25, 1]` and `delay: s * 0.07`, `viewport={{ once: true }}`. Build `TestimonialCard` using `useRef`, `useInView({ once: true, amount: 0.3 })`, rendered as `motion.article` with `initial={{ opacity:0, y:30 }}` animated to `{ opacity:1, y:0 }` on inView, `delay: index * 0.15`, spring stiffness 90 damping 16. Each card shows animated SVG quote mark (`motion.path` stroke draw), initials avatar circle, reviewer name/meta, `StarRow`, product label with `Cake` icon, and review text. Include an 'ArrowRight' CTA link. Import `CustomerTestimonials.css`.

Depends on:#1
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1 day
Frontend Developer
#8

Implement LandingCTA for Landing

To Do

As a frontend developer, implement the `LandingCTA` section featuring magnetic buttons with particle burst effects. Build `makeBurst()` utility generating 10 particles with random angle, distance (48–94px), and colors from `PARTICLE_COLORS` array (`#D4AF37`, `#B76E79`, `#e6c45a`, `#cf8893`). Build reusable `MagneticButton` component using `useRef`, `useState({ x, y })` offset and `useState([])` particles. `handleMove` computes cursor-to-center delta with `0.18` magnetic factor. `handleClick` calls `makeBurst()`, sets particles, clears after 700ms via `setTimeout`. Render `motion.a` with `animate={{ x: offset.x, y: offset.y }}`, `whileHover={{ scale:1.05 }}`, `whileTap={{ scale:0.97 }}` spring (stiffness 320, damping 22, mass 0.6). `AnimatePresence` renders burst `motion.span` particles with `initial={{ x:0,y:0,opacity:1 }}` → `animate={{ x:p.x,y:p.y,opacity:0,scale:0 }}` over 0.65s ease-out. `LandingCTA` section renders decorative `lcta-decor` div with `lcta-wash` and 5 `Wheat` icons positioned via CSS classes `w1`–`w5`. Two `MagneticButton` instances: 'Shop All Products' (`ShoppingBag` icon, href `/Products`) and 'Order on WhatsApp' (`MessageCircle` icon, href `wa.me`). Import `LandingCTA.css`.

Depends on:#1
Waiting for dependencies
AI 88%
Human 12%
Medium Priority
1 day
Frontend Developer
#9

Implement Footer for Landing

To Do

As a frontend developer, implement the `Footer` section with newsletter subscription, social links, and a 4-column link grid. Use `useState('')` for `email` and `useState(false)` for `subscribed`. `handleSubscribe(e)` prevents default, checks `email.trim()`, sets `subscribed=true`, clears email. Render `pb-ftr__glow` decorative div; brand block with `Cake` icon (size 24, strokeWidth 1.8), 'PB Bake House' heading and 'Luxury Bakery · Bengaluru' subtext, tagline paragraph, WhatsApp CTA link (`MessageCircle` icon) to `wa.me/919876543210`, contact items with `MapPin`/`Phone`/`Mail` icons. Social row mapping `socials` array (Instagram, Facebook, Youtube, Twitter icons) as icon-only links. Newsletter form: email input + subscribe button showing success state when `subscribed` is true. `linkColumns` array of 4 columns (Shop, About, Support, Legal) each with 4 links rendered as anchor tags (Shop→Products/ProductDetail/Cart/Checkout, About→Landing/Register/Login, Support→OrderTracking/OrderHistory/UserProfile/AdminPanel, Legal→Landing). Bottom bar with copyright and legal note. Import `Footer.css`. Note: this component may already exist from a shared layout if used across multiple pages.

Depends on:#1
Waiting for dependencies
AI 85%
Human 15%
Medium Priority
1 day
Frontend Developer
#10

Implement RegisterHero for Register

To Do

As a frontend developer, implement the RegisterHero section for the Register page. The section renders a full-width hero using the `rh-root` container with a decorative `rh-glow` div and `rh-accent-line` accent (both aria-hidden). Inside `rh-inner`, render an `rh-mark` decorative element, an `<h1>` with class `rh-headline` containing an accented `<span class='rh-headline-accent'>Account</span>` word, and a `<p class='rh-subheadline'>` describing PB Bake House account benefits (order custom cakes, real-time delivery tracking, seasonal collections). Import and apply `RegisterHero.css` for all styling. No state or interactivity required. Note: Navbar component may already exist from the Landing page (task 9ccbd3aa-3cab-43b8-8389-46899f7e5202).

Depends on:#1
Waiting for dependencies
AI 90%
Human 10%
High Priority
0.5 days
Frontend Developer
#13

Implement ProductsHero for Products

To Do

As a frontend developer, implement the ProductsHero section for the Products page. The section uses a `ph-root` container with a decorative `ph-accent-line` and `ph-glow` div (both aria-hidden). Inside `ph-inner`, render an `h1.ph-heading` with an inline `span.ph-accent` wrapping 'Collection'. The `ph-subhead` paragraph contains four `span.ph-accent-chip` elements for 'Cakes', 'Bakery', 'Snacks', and 'Custom Orders' inline within the descriptive text. A `ph-divider` with a nested `ph-divider-dot` span serves as a visual separator. Apply all styles from `ProductsHero.css` (2744 chars) covering layout, glow/accent animations, chip styling, and divider. No state or props required — purely static presentational component. Note: Navbar component may already exist from the Landing page task.

Depends on:#1
Waiting for dependencies
AI 90%
Human 10%
High Priority
0.5 days
Frontend Developer
#25

Build Products API Endpoints

To Do

As a Backend Developer, implement all product-related REST API endpoints using Spring Boot. Includes: GET /api/products (list with filters: category, price range, diet, rating, sort, pagination), GET /api/products/:id (product detail), GET /api/products/featured, GET /api/products/best-sellers, POST /api/admin/products (create product with Cloudinary image upload), PUT /api/admin/products/:id (update), DELETE /api/admin/products/:id (delete), PATCH /api/admin/products/:id/toggle-featured, PATCH /api/admin/products/:id/toggle-bestseller. Implement Product, Category JPA entities and repositories. Support multiple image upload via Cloudinary. Note: Frontend ProductsGrid, ProductsFilter, BestSellers, FeaturedCategories, and AdminPanel product management sections depend on this API.

Depends on:#36#24
Waiting for dependencies
AI 60%
Human 40%
High Priority
4 days
Backend Developer
#27

Build Custom Cake Order API

To Do

As a Backend Developer, implement custom cake order REST API endpoints. Includes: POST /api/custom-cake-orders (submit custom order with up to 5 reference image uploads to Cloudinary, fields: weight, flavor, egg/eggless, message, delivery date, time slot, special instructions), GET /api/custom-cake-orders/my-orders (customer's custom cake requests), GET /api/admin/custom-cake-orders (admin view all requests), PATCH /api/admin/custom-cake-orders/:id/status (accept/reject/update status), GET /api/custom-cake-orders/:id (detail). Implement CustomCakeOrder JPA entity with image URL list. Note: Frontend CustomCakeShowcase section on Landing page depends on this API.

Depends on:#36#37#24
Waiting for dependencies
AI 60%
Human 40%
High Priority
3 days
Backend Developer
#30

Build User Profile API

To Do

As a Backend Developer, implement user profile management REST API endpoints. Includes: GET /api/users/me (get profile), PUT /api/users/me (update name, email, phone), PUT /api/users/me/password (change password with old password verification), GET /api/users/me/addresses (list saved addresses), POST /api/users/me/addresses (add address), PUT /api/users/me/addresses/:id (update), DELETE /api/users/me/addresses/:id (delete), PATCH /api/users/me/addresses/:id/default (set default). Implement CustomerAddress JPA entity. Note: Frontend UserProfile page depends on this API.

Depends on:#24#36
Waiting for dependencies
AI 60%
Human 40%
Medium Priority
2 days
Backend Developer
#32

Build Coupons & Discounts API

To Do

As a Backend Developer, implement coupon and discount management API. Includes: POST /api/admin/coupons (create coupon: code, type percentage/flat, value, min order, expiry, usage limit), GET /api/admin/coupons (list all), PUT /api/admin/coupons/:id (update), DELETE /api/admin/coupons/:id, POST /api/cart/apply-coupon (validate coupon code and return discount — already listed in cart API but enforced here). Implement Coupon JPA entity. Note: Frontend CartSummary (promo code input) depends on this API.

Depends on:#24#36
Waiting for dependencies
AI 60%
Human 40%
Medium Priority
1.5 days
Backend Developer
#33

Build Delivery Management API

To Do

As a Backend Developer, implement delivery management API with Porter-ready architecture. Includes: GET /api/delivery/zones (list delivery zones and charges), POST /api/delivery/estimate (calculate delivery charge based on customer address coordinates vs store location), PUT /api/admin/delivery/zones (manage delivery zones and base charges), PUT /api/admin/delivery/settings (configure pickup option, same-day delivery, scheduled slots), POST /api/admin/orders/:id/dispatch (trigger delivery, initially WhatsApp fallback; Porter API stub for future integration). Implement DeliveryZone JPA entity. Architecture must be abstracted via DeliveryService interface allowing Porter provider to be plugged in later without major refactor. Note: Frontend Checkout page delivery section depends on this.

Depends on:#36#24
Waiting for dependencies
AI 55%
Human 45%
Medium Priority
2.5 days
Backend Developer
#45

Implement Login Page

To Do

As a Frontend Developer, implement the Login page with a luxury split-layout design featuring: email and password fields with validation, show/hide password toggle, 'Forgot Password' link triggering OTP flow modal, 'Remember Me' checkbox, login button with loading state, Google sign-in placeholder, and link to Register page. On success, store JWT in localStorage and redirect to previous page or home. Display error messages from API. Luxury glassmorphism card design with gold accent and animated background. Calls POST /api/auth/login. Depends on backend Auth API.

Depends on:#24
Waiting for dependencies
AI 60%
Human 40%
High Priority
1.5 days
Frontend Developer
#46

Configure Environment & Secrets

To Do

As a DevOps Engineer, set up environment configuration for both frontend and backend services. Create .env files for dev and prod environments with variables: MYSQL_URL, MYSQL_USER, MYSQL_PASSWORD, JWT_SECRET, JWT_EXPIRY, CLOUDINARY_CLOUD_NAME, CLOUDINARY_API_KEY, CLOUDINARY_API_SECRET, RAZORPAY_KEY_ID, RAZORPAY_KEY_SECRET, SMTP_HOST, SMTP_USER, SMTP_PASSWORD, FRONTEND_URL, PORT. Add .gitignore rules to exclude all .env files. Create .env.example template files for developer onboarding. Configure Spring Boot application-dev.properties and application-prod.properties using environment variable placeholders. Document all required environment variables in README.

Depends on:#38
Waiting for dependencies
AI 50%
Human 50%
High Priority
0.5 days
DevOps Engineer
#59

Implement LoginSocial for Login

To Do

As a frontend developer, implement the LoginSocial section for the Login page. This section renders social login alternatives below the main form using framer-motion animations. It includes a divider row with two ls-divider-line spans and an 'or continue with' label. Two motion.a buttons are rendered inside a motion.div with fadeIn animation (opacity 0→1, y 12→0, duration 0.5, easeOut): (1) ls-btn-google linking to /Login with a full Google 'G' SVG icon (four-path multicolor), and (2) ls-btn-whatsapp linking to a WhatsApp wa.me deep link (919900000000) with a pre-filled login message, with a WhatsApp SVG icon (fill='#25D366'). Both buttons use the buttonSpring motion config (whileHover scale=1.02, whileTap scale=0.975, spring stiffness=420, damping=22). Also renders an ls-glow decorative background element. Implement LoginSocial.css (3263 chars) for button styles, hover states, glow effect, and divider layout. Note: Google href currently points to /Login placeholder and should be replaced with real OAuth flow.

Depends on:#58
Waiting for dependencies
AI 90%
Human 10%
Medium Priority
0.5 days
Frontend Developer
#66

Implement UserProfileSidebar for UserProfile

To Do

As a frontend developer, implement the UserProfileSidebar section for the UserProfile page. Build a sidebar navigation component using the `navItems` array (Profile Info, Saved Addresses, Order History, Preferences, Security & Privacy, Download Data) with active state tracking via `useState`. Render a custom `NavIcon` SVG component that switches between 6 icon variants (user, map-pin, package, sliders, shield, download) using a switch statement. Display `userData` object (name: 'Priya Sharma', email, initials 'PS', accountType 'Premium', avatarUrl null) as an avatar block with initials fallback. Apply `ups-nav-icon` CSS class on all SVG icons. Note: this component may be shared across profile sub-sections. Styles imported from `UserProfileSidebar.css` (8391 chars).

Depends on:#57
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#72

Implement AdminHeader for AdminPanel

To Do

As a frontend developer, implement the AdminHeader section for the AdminPanel page. This section renders a motion.header with a framer-motion entry animation (opacity 0→1, y -12→0, 0.35s easeOut). It includes: (1) a left group with an ah-hamburger button that dispatches a custom 'admin-sidebar-toggle' CustomEvent to window and toggles local sidebarOpen useState, (2) a breadcrumb nav rendering the breadcrumbItems array with SVG chevron separators and ah-breadcrumb-link / ah-breadcrumb-current spans, (3) a center ah-title with an inline SVG grid icon, (4) a right group with framer-motion whileHover/whileTap scale buttons for Settings and other quick actions using spring transitions (stiffness: 500, damping: 30). Styles from AdminHeader.css with ah- prefixed class names.

Depends on:#57
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#84

Build Wishlist API Endpoints

To Do

As a Backend Developer, implement wishlist REST API endpoints. Includes: GET /api/wishlist (get current user's wishlist), POST /api/wishlist/items (add product to wishlist), DELETE /api/wishlist/items/:productId (remove from wishlist), DELETE /api/wishlist (clear wishlist). Implement Wishlist and WishlistItem JPA entities linked to User and Product. Return product details in wishlist response. Note: Frontend ProductHero (wishlist toggle) and BestSellers (heart button) depend on this API.

Depends on:#38#36
Waiting for dependencies
AI 70%
Human 30%
Medium Priority
1 day
Backend Developer
#85

Implement Register Page

To Do

As a Frontend Developer, implement the Register page with full name, email, phone, password, and confirm password fields. Include real-time password strength indicator, field-level validation, and terms acceptance checkbox. On success, store JWT and redirect to home. Show API error messages inline. Luxury glassmorphism design with 3D golden ring decoration using @react-three/fiber. Calls POST /api/auth/register. Depends on backend Auth API.

Depends on:#24
Waiting for dependencies
AI 65%
Human 35%
High Priority
1.5 days
Frontend Developer
#89

Build Banners & Settings API

To Do

As a Backend Developer, implement public-facing endpoints to support Landing page dynamic content: GET /api/banners (list active banners for homepage carousel), GET /api/reviews (list approved customer testimonials with pagination), GET /api/settings/public (return public store settings: name, logo, address, phone, hours, social links). These complement the admin-side banner and settings endpoints already in Admin Dashboard API. Implement Banner JPA entity (already referenced in schema) and StoreSettings entity. Note: Landing page BestSellers, FeaturedCategories, CustomerTestimonials, and Footer depend on these endpoints.

Depends on:#36#38
Waiting for dependencies
AI 65%
Human 35%
High Priority
1 day
Backend Developer
#91

Implement JWT Auth Middleware

To Do

As a Backend Developer, implement the global JWT authentication and authorization middleware for Spring Boot. Create JwtTokenProvider (generate, validate, parse claims), JwtAuthenticationFilter (extract Bearer token from Authorization header, set SecurityContext), and configure SecurityFilterChain to distinguish public routes (/api/auth/**, /api/products GET, /api/banners GET, /api/settings/public) from protected customer routes and admin-only routes (ROLE_ADMIN). Implement UserDetailsService loading from DB. Add refresh token endpoint POST /api/auth/refresh-token. Ensure CORS is configured to allow frontend origin. This is a prerequisite for all protected API tasks.

Depends on:#36#38
Waiting for dependencies
AI 60%
Human 40%
High Priority
1.5 days
Backend Developer
#97

Setup Frontend Global State

To Do

As a Frontend Developer, implement shared global state management for the vanilla JS frontend. Create a lightweight state store (module pattern) managing: authState (JWT token, user info, isAuthenticated), cartState (item count for Navbar badge, cart total), toastQueue (global notification stack). Implement: setAuth / clearAuth helpers that read/write to localStorage, cartCount observable that updates Navbar badge across pages without full reload, and a showToast(message, type) utility used by all pages. Also implement a global API client module (api.js) with fetch wrappers that automatically attach Authorization: Bearer headers, handle 401 responses by clearing auth and redirecting to Login, and wrap responses in a standard {data, error} shape.

Depends on:#39
Waiting for dependencies
AI 60%
Human 40%
High Priority
1.5 days
Frontend Developer
#11

Implement RegisterForm for Register

To Do

As a frontend developer, implement the RegisterForm section for the Register page. This is a complex interactive section using `useState`, `useRef`, `useCallback`, and `useEffect` from React. It features: (1) A Three.js decorative canvas via `@react-three/fiber` `<Canvas>` with `<OrbitControls>` rendering the `GoldenFlour` component — a group with a golden torus (`args={[1.15, 0.025, 32, 80]}`, `color='#D4AF37'`, metalness 0.7) and an inner rose-gold torus ring (`args={[0.85, 0.018, 24, 64]}`, `color='#B76E79'`), with initial rotation set in `useEffect`. (2) Framer Motion `useMotionValue`, `useSpring`, and `useTransform` for tilt/parallax effects on the form card. (3) A multi-field registration form with fields: fullName, email, phone, password, confirmPassword — each using Lucide icons (`User`, `Mail`, `Phone`, `Lock`, `ShieldCheck`, `Cake`). (4) Real-time field validation via `validateField()` covering required checks, email regex, phone regex (`/^[+]?[\d\s()-]{7,15}$/`), password minimum 8 chars, and password confirmation match. (5) A `getPasswordStrength()` helper computing a score from length, uppercase, digits, and special characters, returning levels: weak (25%), fair (50%), good (75%), strong (100%) with a visual strength bar. (6) Form submission state management. Import `GoldenFlour.css` and `RegisterForm.css`.

Depends on:#10
Waiting for dependencies
AI 80%
Human 20%
High Priority
2 days
Frontend Developer
#12

Implement RegisterBenefits for Register

To Do

As a frontend developer, implement the RegisterBenefits section for the Register page. The section renders a `<section class='rb-section'>` with: (1) A decorative `rb-bg-motif` div containing six `rb-bg-dot` `<span>` elements (aria-hidden). (2) An `rb-header` block with suptitle 'Why Join', headline 'Perks of a PB Bake House Account', and a subtitle paragraph. (3) A Framer Motion `<motion.div class='rb-grid'>` using `containerVariants` with `staggerChildren: 0.12`, triggered `whileInView` (once, margin '-60px'), mapping over the `benefits` array of 4 items — each rendered as a `<motion.div class='rb-card'>` with `cardVariants` (hidden: opacity 0, y 24 → visible: opacity 1, y 0, duration 0.5 easeOut). Each card displays a Lucide icon (`Package`, `Heart`, `Gift`, `Cake` with `strokeWidth={1.8}`) inside `rb-card-icon-wrap`, plus `rb-card-title` and `rb-card-desc`. (4) A bottom `rb-cta-row` with a 'Already have an account?' link pointing to `/Login` styled with `var(--secondary)` and fontWeight 600. Import `RegisterBenefits.css`.

Depends on:#10
Waiting for dependencies
AI 85%
Human 15%
High Priority
1 day
Frontend Developer
#14

Implement ProductsFilter for Products

To Do

As a frontend developer, implement the ProductsFilter section for the Products page. The component uses `useState` for `category`, `diet` (array), `rating`, `priceRange` (default MAX_PRICE=5000), `activePreset`, `openSections` (object with keys: categories, price, dietary, rating), and `mobileOpen`. Uses `useCallback` for `toggleSection`, `toggleDiet`, `handlePriceChange`, `handlePreset`, and `useCallback`-wrapped reset. Uses `useMemo` for `hasActiveFilters`. Static data constants include `CATEGORIES` (4 items with counts), `DIET_OPTIONS` (egg/eggless/vegan), `RATING_OPTIONS` (1–4 stars), and `PRICE_PRESETS` (4 INR ranges). Renders a `StarRating` sub-component that maps 5 SVG polygon stars, toggling `fill` based on index vs star count, with a `pf-rating-stars--filled` class variant. Filter panel has collapsible accordion sections toggled via `openSections` state using `ChevronDown` from lucide-react. Mobile drawer toggled via `mobileOpen` with `SlidersHorizontal` icon trigger. Price section includes an HTML range input (`priceRange` state) and preset chip buttons (`activePreset` toggling). Diet section uses multi-select toggle chips. Rating section uses single-select with `StarRating`. Reset button uses `RotateCcw` icon and only renders when `hasActiveFilters` is true. Apply all styles from `ProductsFilter.css` (10750 chars).

Depends on:#13
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#15

Implement ProductsGrid for Products

To Do

As a frontend developer, implement the ProductsGrid section for the Products page. The component uses `useState` for pagination/sort state and renders a hardcoded `products` array of 12 items (ids 1–12), each with `id`, `name`, `category` (Cakes/Bakery/Snacks/Desserts), `price`, `originalPrice` (nullable), `rating`, `reviews`, and an Unsplash `image` URL. Uses lucide-react icons: `Star`, `ShoppingBag`, `ChevronDown`, `ChevronLeft`, `ChevronRight`, and `Cake`. Renders product cards with image, category badge, product name, star rating display (`Star` icon + numeric rating + review count), price (with strikethrough `originalPrice` when not null), and an 'Add to Bag' button using `ShoppingBag` icon. Includes a sort/filter bar with a `ChevronDown` dropdown. Implements pagination controls using `ChevronLeft`/`ChevronRight` buttons. Empty state uses the `Cake` icon. Apply all styles from `ProductsGrid.css` (7881 chars) covering card layout, grid, pagination, sort bar, and responsive breakpoints.

Depends on:#13
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#26

Build Orders API Endpoints

To Do

As a Backend Developer, implement all order-related REST API endpoints. Includes: POST /api/orders (create order from cart), GET /api/orders/my-orders (customer order history with filters: status, date range, sort), GET /api/orders/:id (order detail with tracking), GET /api/admin/orders (all orders with filters), PATCH /api/admin/orders/:id/status (update order status: Pending→Confirmed→Preparing→Ready→Out for Delivery→Delivered), GET /api/orders/:id/track (real-time tracking info). Implement Order, OrderItem JPA entities. Generate unique order ID (e.g., PBH-YYYY-XXXX). Store payment status, delivery address, and order items. Note: Frontend OrderHistory, OrderTracking, Cart, and Checkout pages depend on this API.

Depends on:#36#24#25
Waiting for dependencies
AI 60%
Human 40%
High Priority
4 days
Backend Developer
#29

Build Cart API Endpoints

To Do

As a Backend Developer, implement cart REST API endpoints. Includes: GET /api/cart (get current user's cart with items and computed totals), POST /api/cart/items (add item to cart), PUT /api/cart/items/:id (update quantity), DELETE /api/cart/items/:id (remove item), DELETE /api/cart (clear cart), POST /api/cart/apply-coupon (validate and apply coupon code, returns discount amount), DELETE /api/cart/remove-coupon. Implement Cart and CartItem JPA entities linked to User. Compute subtotal, tax (5% GST), and grand total server-side. Note: Frontend CartItems, CartSummary sections depend on this API.

Depends on:#24#25
Waiting for dependencies
AI 60%
Human 40%
High Priority
2 days
Backend Developer
#34

Build Reviews & Ratings API

To Do

As a Backend Developer, implement reviews and ratings REST API. Includes: POST /api/products/:id/reviews (submit review: rating 1-5, text, only by verified purchasers), GET /api/products/:id/reviews (list reviews with pagination), PUT /api/admin/reviews/:id/approve (admin moderation), DELETE /api/admin/reviews/:id. Implement Review JPA entity linked to Product and User. Compute and update average rating on product record. Note: Frontend ProductsGrid and ProductDetail pages display ratings that depend on this.

Depends on:#25#24
Waiting for dependencies
AI 60%
Human 40%
Medium Priority
1.5 days
Backend Developer
#42

Implement UserProfile Page

To Do

As a Frontend Developer, implement the UserProfile page with sections for: personal info (name, email, phone) with inline edit, password change form with strength indicator, saved delivery addresses (add/edit/delete/set default), and quick links to Order History and Custom Cake Orders. Fetch data from GET /api/users/me and /api/users/me/addresses. Show success/error toasts on save. Implement luxury card-based layout with gold accent. Depends on backend User Profile API.

Depends on:#30
Waiting for dependencies
AI 60%
Human 40%
Medium Priority
2.5 days
Frontend Developer
#53

Integrate Custom Cake Order Flow

To Do

As a Tech Lead, verify the end-to-end integration between the CustomCakeShowcase frontend section (Landing page) and the Custom Cake Order backend API. Ensure form submission correctly uploads up to 5 reference images to Cloudinary via /api/custom-cake-orders, all form fields (weight, flavor, eggless, message, delivery date, time slot) are persisted, customer receives confirmation, and the order appears in admin panel custom cake requests section.

Depends on:#6#27
Waiting for dependencies
AI 40%
Human 60%
High Priority
1 day
Tech Lead
#67

Implement UserProfileHeader for UserProfile

To Do

As a frontend developer, implement the UserProfileHeader section for the UserProfile page. Build a static header section using `uph-root` as the root class. Render a top row with a greeting block displaying 'Welcome back,' and `userName` ('Priya') side by side, plus a member badge using the `Clock` icon from lucide-react (size 12) showing 'Member since {memberSince}' (March 2024). Render an actions row with two anchor tags linking to `/OrderHistory`: one with `Clock` icon (size 16) for 'View Order History' and one with `FileText` icon (size 16) for 'Download Invoices', both styled as `uph-action-btn`. Styles imported from `UserProfileHeader.css` (3018 chars).

Depends on:#66
Waiting for dependencies
AI 90%
Human 10%
Medium Priority
0.5 days
Frontend Developer
#68

Implement UserProfilePersonalInfo for UserProfile

To Do

As a frontend developer, implement the UserProfilePersonalInfo section for the UserProfile page. Build an editable personal info form using `useState` hooks for: `data` (firstName, lastName, email, phone, dob, gender from `initialData`), `editingField`, `editValue`, `errors`, `globalEdit`, `toast`, and `saving`. Implement `validateField` logic covering required, email regex, phone digit count (10-13), and min-length name checks. Render 6 fields from `fieldMeta` (firstName, lastName, email, phone, dob, gender) with inline field-level editing via `startEditField` and a global edit mode via `setGlobalEdit`. Gender field uses a `<select>` with `genderOptions`. DOB uses `formatDobForDisplay` for locale-formatted output. Animate field transitions using `motion` and `AnimatePresence` from framer-motion. Show a `toast` notification via `showToast` with 2800ms auto-dismiss. Simulate async save with `setSaving` and `setTimeout`. Styles imported from `UserProfilePersonalInfo.css` (9800 chars).

Depends on:#66
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#69

Implement UserProfilePreferences for UserProfile

To Do

As a frontend developer, implement the UserProfilePreferences section for the UserProfile page. Build a preferences form using `useState` for: `promoEmails` (bool, default true), `smsNotifications` (bool, default false), `newsletterFreq` (string, default 'Weekly'), `contactMethod` (string, default 'Email'), `marketingPrefs` (array, default ['new-products', 'birthday-special']), `saved`, and `saving`. Render notification toggles with custom `upr-toggle` / `upr-toggle-track` / `upr-toggle-thumb` CSS toggle UI for promo emails and SMS. Render radio-style selectors for `NEWSLETTER_OPTIONS` ('Daily', 'Weekly', 'Monthly') and `CONTACT_OPTIONS` ('Email', 'Phone', 'WhatsApp'). Render checkboxes for `MARKETING_OPTIONS` (new-products, seasonal-offers, birthday-special) using `toggleMarketingPref` callback. Implement `handleSave` with 500ms simulated async delay, then show saved confirmation for 2800ms. Wrap main card in `motion.div` with `opacity: 0, y: 12` → `opacity: 1, y: 0` entry animation using `AnimatePresence`. Styles imported from `UserProfilePreferences.css` (9022 chars).

Depends on:#66
Waiting for dependencies
AI 87%
Human 13%
Medium Priority
1 day
Frontend Developer
#70

Implement UserProfileAddresses for UserProfile

To Do

As a frontend developer, implement the UserProfileAddresses section for the UserProfile page. Build a full CRUD address manager using `useState` for: `addresses` (initialized from `INITIAL_ADDRESSES` with 3 Bengaluru entries), `showModal`, `editingId`, `deleteConfirmId`, and `form` (label, fullAddress, city, postalCode). Implement `openAdd`, `openEdit`, `closeModal`, `handleChange`, `handleSubmit` (add/edit branch), `handleSetDefault` (single-default toggle), and `handleDelete`. Render address cards with dynamic label icons from `LABEL_ICONS` map (Home→`Home`, Office→`Briefcase`, Other→`MapPinned` from lucide-react). Display default badge using `Star` icon. Show `Pencil` and `Trash2` action buttons per card. Implement delete confirmation via `deleteConfirmId` state with `Check` and `X` icons. Animate cards using `motion.div` with `cardVariants` (hidden→visible with staggered `delay: i * 0.08`) and `AnimatePresence` for exit animations (`scale: 0.95`). Render an Add Address button using `Plus` and `MapPin` icons. Show add/edit form in a modal with `LABEL_OPTIONS` select. Styles imported from `UserProfileAddresses.css` (9725 chars).

Depends on:#66
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#71

Implement UserProfileSecuritySettings for UserProfile

To Do

As a frontend developer, implement the UserProfileSecuritySettings section for the UserProfile page. Build a security settings panel using `useState` for password modal visibility and related form state. Implement `PasswordModal` sub-component with `useState` for `currentPw`, `newPw`, `confirmPw`, and `errors`; include `evaluatePasswordStrength` function scoring password on 5 criteria (length≥8, length≥12, uppercase, digit, special char) returning levels: weak/fair/good/strong. Modal has overlay click-to-close, `uss-modal-overlay` / `uss-modal` / `uss-modal-header` / `uss-modal-body` CSS classes, and `handleSubmit` with inline validation errors for all 3 fields. Render a `LOGIN_ACTIVITY` table (5 entries) with columns: device (emoji from `DEVICE_ICONS` map), location, datetime, status badge (success/failed). Show `Building2` or contextual lucide icons for device categories. Styles imported from both `UserProfileSecuritySettings.css` (10690 chars) and `DeleteConfirmModal.css`.

Depends on:#66
Waiting for dependencies
AI 83%
Human 17%
High Priority
1.5 days
Frontend Developer
#73

Implement AdminSidebar for AdminPanel

To Do

As a frontend developer, implement the AdminSidebar section for the AdminPanel page. This section renders a collapsible sidebar driven by MENU_ITEMS config grouped into sections: Main, Management, Insights, Content, and System. Each item includes a label, href (with ?tab= query params), optional badge count string, and an inline SVG icon drawn from the ICON_PATHS map (layout-dashboard, package, shopping-cart, users, bar-chart, image, settings). The component uses useState to track active item and listens for the 'admin-sidebar-toggle' CustomEvent dispatched by AdminHeader to show/hide the sidebar on mobile. Styles from AdminSidebar.css with as- prefixed class names.

Depends on:#72
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#74

Implement AdminWelcome for AdminPanel

To Do

As a frontend developer, implement the AdminWelcome section for the AdminPanel page. This section includes a custom useDateTime hook that uses useState(new Date()) and setInterval every 1000ms (cleared on unmount) to provide a live clock. It displays a time-sensitive greeting via getGreeting() (Good Morning/Afternoon/Evening) with the current date via formatDate() and time via formatTime(). Four statusCards (orders, pending, revenue, customers) are rendered with framer-motion cardVariants (hidden→visible with staggered delay: 0.1*i, cubic-bezier ease) showing value, badge with up/warn/neutral types, and inline SVG icons. Styles from AdminWelcome.css with aw- prefixed class names.

Depends on:#72
Waiting for dependencies
AI 87%
Human 13%
High Priority
1 day
Frontend Developer
#75

Implement AdminStats for AdminPanel

To Do

As a frontend developer, implement the AdminStats section for the AdminPanel page. This section renders four stat cards from the STATS array (orders, revenue, pending, repeat) each with: label, value (₹-prefixed where relevant), trend percentage, trendDir (up/down), trendLabel, a spark array of 12 data points rendered as an SVG sparkline normalized against SPARK_MAX=44, a colorKey (gold/rose/amber/muted) for theming, an inline SVG icon, and an iconClass for per-card color. A TrendArrow component renders an up or down SVG polyline+line chevron based on trendDir. Imports StatCard.css and AdminStats.css with ads- prefixed class names.

Depends on:#72
Waiting for dependencies
AI 88%
Human 12%
High Priority
1 day
Frontend Developer
#76

Implement AdminQuickActions for AdminPanel

To Do

As a frontend developer, implement the AdminQuickActions section for the AdminPanel page. This section renders an aqa-root section with an aqa-inner container and aqa-label heading. It maps over the ACTIONS array of 5 items (Add New Product, View New Orders, Manage Customers, Upload Banner, View Analytics) each with a title, desc, href with ?tab= and ?action= query params, variant class (primary/secondary/accent for theming), an optional badge boolean, and a per-item inline SVG icon with variant-specific class (aqa-icon-svg--primary/secondary/accent). Styles from AdminQuickActions.css with aqa- prefixed class names.

Depends on:#72
Waiting for dependencies
AI 90%
Human 10%
Medium Priority
0.5 days
Frontend Developer
#86

Implement Products Page

To Do

As a Frontend Developer, implement the Products page combining ProductsHero, ProductsFilter, and ProductsGrid sections into a cohesive page. Wire filter state from ProductsFilter to ProductsGrid via lifted state or context. Fetch products from GET /api/products with query params (category, diet, rating, priceRange, sort, page). Implement real pagination using API response metadata. Show skeleton loaders while fetching. Replace hardcoded product data with API responses. Depends on backend Products API.

Depends on:#25
Waiting for dependencies
AI 60%
Human 40%
High Priority
1 day
Frontend Developer
#90

Setup CI/CD Pipeline

To Do

As a DevOps Engineer, set up a CI/CD pipeline using GitHub Actions. Create workflows for: (1) Backend — on push to main/dev: run Maven build, execute unit and integration tests, build Docker image, push to container registry, deploy to staging/prod server via SSH or k8s rollout. (2) Frontend — on push: lint check, build static assets, deploy to CDN or Nginx container. Configure branch protection rules requiring passing CI before merge. Add Slack/email notification on pipeline failure. Store secrets (DOCKER_PASSWORD, SSH_KEY, RAZORPAY, CLOUDINARY credentials) in GitHub Secrets.

Depends on:#46#38
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
2 days
DevOps Engineer
#93

Integrate Register Frontend Backend

To Do

As a Tech Lead, verify the end-to-end integration between the Register page frontend (RegisterForm, RegisterBenefits, RegisterHero sections) and the Auth backend API. Ensure registration form submits to POST /api/auth/register, server-side validation errors display inline in the form, OTP email is triggered on successful registration, and the user is redirected and logged in after verification. Also verify duplicate email/phone errors are surfaced correctly.

Depends on:#85#24
Waiting for dependencies
AI 55%
Human 45%
High Priority
0.5 days
Tech Lead
#98

Configure Nginx & Static Serving

To Do

As a DevOps Engineer, configure Nginx as a reverse proxy and static file server. Set up: (1) Serve frontend HTML/CSS/JS static assets from /usr/share/nginx/html with cache headers (Cache-Control: max-age=31536000 for hashed assets, no-cache for index.html). (2) Proxy /api/* requests to Spring Boot backend container on port 8080 with proper proxy_pass, proxy_set_header for X-Real-IP and X-Forwarded-For. (3) Enable gzip compression for JS, CSS, JSON, SVG. (4) Configure SSL termination with Let's Encrypt / Certbot auto-renewal. (5) Add security headers: X-Frame-Options, X-Content-Type-Options, Content-Security-Policy. Create nginx.conf and docker-compose.yml nginx service definition. Depends on environment config being in place.

Depends on:#46
Waiting for dependencies
AI 50%
Human 50%
Medium Priority
1 day
DevOps Engineer
#16

Implement CartHeader for Cart

To Do

As a frontend developer, implement the CartHeader section for the Cart page. This section renders a `<section className="ch-root">` containing a breadcrumb navigation linking back to `/Products` with a `/` separator and current page label, a headline block with `<h1 className="ch-headline">` featuring an accented `<span className="ch-headline-accent">Shopping</span>` word and a decorative `ch-accent-line` div, and a meta row showing a `ShoppingBag` (lucide-react, size 16) icon alongside a hardcoded `itemCount = 3` item count badge with singular/plural logic, plus a `ch-continue` anchor linking to `/Products` with an `ArrowLeft` (size 15) icon. Apply CartHeader.css for all styling. Note: Navbar component may already exist from the Landing page task [9ccbd3aa-3cab-43b8-8389-46899f7e5202].

Depends on:#15
Waiting for dependencies
AI 90%
Human 10%
High Priority
0.5 days
Frontend Developer
#20

Implement OrderHistoryHero for OrderHistory

To Do

As a frontend developer, implement the OrderHistoryHero section for the OrderHistory page. Build the `ohh-root` section with three sub-areas: (1) A breadcrumb nav (`ohh-breadcrumb`) using `ChevronRight` icons as separators, linking to `/Landing`, `/UserProfile`, and showing 'Order History' as the current page with `aria-label='Breadcrumb'`. (2) A title/description/CTA row (`ohh-body`) containing an `ohh-accent-line` decorative element, an `<h1>` with the text 'Your <span>Order History</span>' using `ohh-title-accent` styling, a description paragraph, and a `Browse Products` CTA link to `/Products` with an `ArrowRight` icon (`ohh-cta-icon`). (3) A quick stats summary row (`ohh-stats`) displaying three stat items with lucide icons — `Receipt` for Total Orders (12), `PackageCheck` for Delivered (10), and `Clock` for In Progress (2) — all using `var(--secondary)` color. All stats are hardcoded static values. Import `OrderHistoryHero.css` for styling.

Depends on:#15
Waiting for dependencies
AI 90%
Human 10%
High Priority
0.5 days
Frontend Developer
#28

Build Razorpay Payment API

To Do

As a Backend Developer, implement Razorpay payment integration endpoints. Includes: POST /api/payments/create-order (create Razorpay order from cart total + delivery charges), POST /api/payments/verify (verify Razorpay payment signature using HMAC SHA256), POST /api/payments/webhook (handle Razorpay webhook events for payment success/failure), GET /api/admin/payments (payment history for admin). Implement PaymentHistory JPA entity storing transaction IDs, payment status, Razorpay order ID. Support UPI, Credit/Debit cards, Net Banking. Note: Frontend Checkout page and CartCTA depend on this API.

Depends on:#24#26
Waiting for dependencies
AI 55%
Human 45%
High Priority
3 days
Backend Developer
#31

Build Admin Dashboard API

To Do

As a Backend Developer, implement all admin panel REST API endpoints (protected by admin JWT role). Includes: GET /api/admin/dashboard/stats (total orders, revenue, pending orders, customers), GET /api/admin/analytics/daily-orders, GET /api/admin/analytics/weekly-revenue, GET /api/admin/analytics/monthly-revenue, GET /api/admin/analytics/best-sellers, GET /api/admin/analytics/customer-growth, GET /api/admin/customers (list all customers with repeat customer flag), GET /api/admin/customers/:id (customer detail with order history), POST /api/admin/banners (upload banner to Cloudinary), GET /api/admin/banners, DELETE /api/admin/banners/:id, GET /api/admin/settings (store settings), PUT /api/admin/settings (update store logo, contact, social links, timings). Note: AdminPanel page frontend depends on this API.

Depends on:#24#36#26#25
Waiting for dependencies
AI 60%
Human 40%
High Priority
5 days
Backend Developer
#41

Implement OrderTracking Page

To Do

As a Frontend Developer, implement the OrderTracking page featuring a real-time order status timeline (Pending → Confirmed → Preparing → Ready → Out for Delivery → Delivered) with animated step indicators. Display order ID, items summary, delivery address, estimated time, and payment status. Poll GET /api/orders/:id/track every 30 seconds for status updates. Implement luxury progress stepper UI with smooth transitions and gold accent styling. Show delivery tracking info when available. Depends on backend Order API for live data.

Depends on:#26
Waiting for dependencies
AI 60%
Human 40%
High Priority
2.5 days
Frontend Developer
#43

Implement ProductDetail Page

To Do

As a Frontend Developer, implement the ProductDetail page with: premium image gallery (main image + thumbnails with zoom on hover), product name, category badge, price display with discount, star rating with review count, product description, weight and flavor selector (for cakes), egg/eggless toggle, quantity stepper, Add to Cart and Wishlist buttons, custom cake order shortcut for cake category products, and a reviews section. Fetch product from GET /api/products/:id. Add to cart via POST /api/cart/items. Luxury full-width layout with framer-motion animations. Depends on backend Products API and Cart API.

Depends on:#34#25#29
Waiting for dependencies
AI 60%
Human 40%
High Priority
3 days
Frontend Developer
#47

Integrate Auth Frontend Backend

To Do

As a Tech Lead, verify the end-to-end integration between the Login and Register frontend implementations and the Auth backend API. Ensure JWT token is correctly stored after login, protected routes redirect unauthenticated users, OTP flow works end-to-end, registration form errors from API are displayed in UI, and password reset flow completes successfully. Validate token expiry handling and refresh logic.

Depends on:#24#45#11
Waiting for dependencies
AI 40%
Human 60%
High Priority
1 day
Tech Lead
#55

Integrate UserProfile Frontend Backend

To Do

As a Tech Lead, verify the end-to-end integration between the UserProfile frontend page and the User Profile backend API. Ensure profile data loads from /api/users/me, inline edits persist via PUT request, address add/edit/delete operations work, default address is correctly flagged, password change enforces old password verification, and success/error toast notifications display based on API response.

Depends on:#42#30
Waiting for dependencies
AI 40%
Human 60%
Medium Priority
0.5 days
Tech Lead
#77

Implement AdminContent for AdminPanel

To Do

As a frontend developer, implement the AdminContent section for the AdminPanel page. This is the most complex section — a full tabbed CMS dashboard using useState and useMemo. It renders a TABS array of 6 tabs (products, orders, customers, analytics, banners, settings) with icon and badge support, animated via framer-motion AnimatePresence for tab transitions. Tab content includes: (1) Products tab with INITIAL_PRODUCTS data, PRODUCT_CATEGORIES and PRODUCT_STATUS filter dropdowns, search, and a product table with image, name, SKU, category, price, stock, and status; (2) Orders tab with STATUSES filter (pending/confirmed/preparing/ready/delivered/cancelled) and order rows; (3) Customers tab with customer list; (4) Analytics tab with TIME_RANGES selector (today/week/month/year); (5) Banners tab for banner management; (6) Settings tab importing SettingsPanel.css. All filtering done with useMemo. Imports AdminContent.css and SettingsPanel.css with ac- prefixed class names. Framer-motion AnimatePresence wraps tab panel swaps.

Depends on:#75#73#74#76
Waiting for dependencies
AI 80%
Human 20%
High Priority
3 days
Frontend Developer
#87

Implement OrderHistory Page

To Do

As a Frontend Developer, implement the OrderHistory page assembling OrderHistoryHero, OrderHistoryFilters, OrderHistoryList, and OrderHistoryEmpty sections. Wire filter state to API calls: fetch from GET /api/orders/my-orders with status, dateRange, sort, and page params. Replace static ORDERS array with API response data. Replace hardcoded stats (12 total, 10 delivered, 2 in-progress) in OrderHistoryHero with real values from API response metadata. Show OrderHistoryEmpty when API returns zero results. Depends on backend Orders API.

Depends on:#26
Waiting for dependencies
AI 60%
Human 40%
High Priority
1 day
Frontend Developer
#88

Implement Cart Page

To Do

As a Frontend Developer, implement the Cart page assembling CartHeader, CartItems, CartSummary, and CartCTA sections. Replace hardcoded cart items with data from GET /api/cart. Wire quantity update to PUT /api/cart/items/:id, item removal to DELETE /api/cart/items/:id, and coupon apply to POST /api/cart/apply-coupon. Reflect real subtotal, tax, and delivery charges from API in CartSummary. Update Navbar cart badge count from API cart item count. Depends on backend Cart API and Coupons API.

Depends on:#29#32
Waiting for dependencies
AI 60%
Human 40%
High Priority
1 day
Frontend Developer
#96

Integrate Reviews Frontend Backend

To Do

As a Tech Lead, verify the end-to-end integration between the ProductReviews section (ProductDetail page) and the Reviews & Ratings backend API. Ensure reviews load from GET /api/products/:id/reviews with pagination, rating distribution percentages are computed from real data, verified purchaser badge appears only for users with a completed order containing that product, and write-a-review form submission calls POST /api/products/:id/reviews with correct authentication. Also verify CustomerTestimonials on Landing page loads approved reviews from GET /api/reviews.

Depends on:#89#34
Waiting for dependencies
AI 55%
Human 45%
Medium Priority
0.5 days
Tech Lead
#17

Implement CartItems for Cart

To Do

As a frontend developer, implement the CartItems section for the Cart page. This section uses `useState(initialItems)` to manage a list of 4 hardcoded cart items (Belgian Chocolate Truffle Cake ₹850, New York Baked Cheesecake ₹720, Garlic Pull-Apart Bread ₹180, Pista Baklava Box ₹420), a `swipedId` state and a `touchStart` ref for mobile swipe-to-delete UX. Implements `setQty` and `setQtyDirect` callbacks with `useCallback` for quantity increment/decrement and direct input, and `removeItem` to filter items. Touch handlers `handleTouchStart` and `handleTouchEnd` detect left swipe (dx < -40px, horizontal dominance) to reveal a delete button via `ci-row--swiped` class, and right swipe to dismiss; `handleListClick` on the list ref closes any open swipe when tapping outside. Renders an empty state with `ShoppingBag` and `Cake` icons when items are empty. Formats prices using `formatINR` with `toLocaleString('en-IN')`. Import `Trash2`, `ShoppingBag`, `Cake`, `ArrowRight` from lucide-react. Apply CartItems.css.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#18

Implement CartSummary for Cart

To Do

As a frontend developer, implement the CartSummary section for the Cart page. This section manages state: `shipping` ('delivery'|'pickup'), `promoCode`, `promoApplied`, `promoDiscount`, and `promoFeedback`. Renders `shippingOptions` array (Home Delivery ₹49 with `Truck` icon, Store Pickup ₹0 with `Store` icon) as selectable radio-style cards with descriptions. Computes `grandTotal = subtotal(1847) + tax(92) + shippingCost - promoDiscount`. Includes a promo code input field with `handlePromoKeyDown` (Enter key triggers apply) and `handleApplyPromo` which validates codes `SWEET10` (10% off subtotal) and `WELCOME50` (flat ₹50 off), setting `promoFeedback` with success/error type and message. Displays line items for subtotal (item count), tax (5% GST with asterisk tooltip), shipping cost, promo discount row (conditionally shown), and grand total. Renders trust icons: `ShieldCheck`, `RotateCcw`, `Clock`, `Sparkles`, `Tag` from lucide-react. Apply CartSummary.css.

Depends on:#16
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#21

Implement OrderHistoryFilters for OrderHistory

To Do

As a frontend developer, implement the OrderHistoryFilters section for the OrderHistory page. Build a sticky filter bar (`ohf-root` ref via `rootRef`) with three custom dropdown selectors rendered via a `renderDropdown` helper — Sort (`sort` state, options: newest/oldest/total_spent), Date Range (`dateRange` state, options: 30/90/all), and Status (`status` state, options: all/completed/pending/cancelled). Each dropdown uses `ChevronDown` and `X` (lucide-react) icons. Implement `openDropdown` state with `toggleDropdown` (useCallback) to open/close one dropdown at a time. Wire three useEffects: (1) scroll listener (`window.scrollY > 64`) to set `scrolled` state for sticky shadow enhancement, (2) `mousedown` click-outside handler using `rootRef` to close open dropdowns, (3) `keydown` Escape key handler to close dropdowns. Implement `selectOption` (useCallback) to update the relevant state and close dropdown, `handleClearFilters` to reset all three states to defaults, `getSelectedLabel` to display selected option label, and `activeFilterCount` to count non-default filter selections. Import `OrderHistoryFilters.css`.

Depends on:#20
Waiting for dependencies
AI 85%
Human 15%
High Priority
1 day
Frontend Developer
#22

Implement OrderHistoryList for OrderHistory

To Do

As a frontend developer, implement the OrderHistoryList section for the OrderHistory page. Define a static `ORDERS` array (8 entries) with fields: `id` (e.g. '#PBH-2026-0842'), `date`, `items`, `total` (₹ formatted), and `status` ('completed'|'pending'|'cancelled'). Implement `ITEMS_PER_PAGE = 5` pagination with `useState` for current page. Build an `OrderCard` component (renders as `<li className='ohl-card ohl-card--{statusKey}'>`) showing: order ID and date (with `Calendar` icon) in `ohl-card-top`; items count (with `ShoppingBag` icon), total price (with `Package` icon), and a status badge with `ohl-badge-dot` indicator in `ohl-card-mid`; two action buttons — `View Details` (Eye icon, `ohl-btn--primary`) and `Reorder` (RotateCcw icon, `ohl-btn--outline`) with aria-labels in `ohl-actions`. Build a `SkeletonCard` component for loading states. Add a list/grid view toggle using `Grid3X3`/`List` icons and `useState` for view mode. Implement pagination controls with `ChevronLeft`/`ChevronRight` buttons. Import `OrderHistoryList.css`.

Depends on:#20
Waiting for dependencies
AI 85%
Human 15%
High Priority
1.5 days
Frontend Developer
#23

Implement OrderHistoryEmpty for OrderHistory

To Do

As a frontend developer, implement the OrderHistoryEmpty section for the OrderHistory page. Build a static empty-state section (`ohe-root`) containing a centered card (`ohe-card`) with: an icon wrapper (`ohe-icon-wrap`) holding an `ohe-icon-ring` decorative ring (aria-hidden) and an `ohe-icon-inner` div containing a `ShoppingBag` lucide icon with class `ohe-icon-svg`; an `<h2>` headline reading 'No orders yet'; a description paragraph prompting users to browse products; and a CTA anchor link (`ohe-cta`) to `/Products` reading 'Browse Products' with an `ArrowRight` icon (`ohe-cta-arrow`). This is a fully static conditional empty-state component with no internal state. Import `OrderHistoryEmpty.css`.

Depends on:#20
Waiting for dependencies
AI 92%
Human 8%
Medium Priority
0.5 days
Frontend Developer
#35

Build Email Notification Service

To Do

As a Backend Developer, implement an email notification service using Spring Boot with JavaMailSender (SMTP). Send emails for: Order Confirmation (with order ID and items), Order Status Updates (each status change), OTP Verification (6-digit OTP with 10-minute expiry), Registration Welcome email, Password Reset link, Payment Confirmation. Create HTML email templates for each type. Configure application.properties for SMTP (Gmail or SendGrid). Implement NotificationService as a Spring @Service with async @Async sending to avoid blocking API responses. Note: Triggered by Auth API (OTP), Order API (status updates), and Payment API.

Depends on:#28#26#24
Waiting for dependencies
AI 65%
Human 35%
High Priority
2 days
Backend Developer
#40

Implement Checkout Page

To Do

As a Frontend Developer, implement the Checkout page with delivery address form, order summary, delivery method selection (Home Delivery / Store Pickup), delivery charge preview from API, coupon application, and Razorpay payment button integration. Include form validation for address fields. Show estimated delivery time. On payment success, redirect to OrderTracking page. Depends on backend Cart API, Delivery API, and Payment API for dynamic data.

Depends on:#28#33#29
Waiting for dependencies
AI 60%
Human 40%
High Priority
3 days
Frontend Developer
#44

Implement AdminPanel Page

To Do

As a Frontend Developer, implement the AdminPanel page with a sidebar navigation and dynamic content sections: Dashboard (stats cards, revenue chart, best sellers list), Product Management (table with add/edit/delete, multi-image upload preview, category assignment, stock toggle, featured/bestseller toggle), Order Management (orders table with status filter, status update dropdown, order detail modal), Customer Management (customers table, repeat customer badge, order history modal), Custom Cake Requests (request cards with uploaded images, accept/reject actions, status update), Banner Management (upload/preview/delete banners), Analytics (charts: daily/weekly/monthly orders and revenue, customer growth), Store Settings (form for logo upload, contact info, social links, store timings, delivery charges). All data fetched from /api/admin/* endpoints. Depends on backend Admin API.

Depends on:#26#25#31#27
Waiting for dependencies
AI 60%
Human 40%
High Priority
5 days
Frontend Developer
#48

Integrate Products Frontend Backend

To Do

As a Tech Lead, verify the end-to-end integration between the Products page frontend (ProductsGrid, ProductsFilter sections) and the Products backend API. Ensure filter and sort parameters are correctly passed as query params, API pagination response is reflected in UI pagination, product cards display real data from DB, category filter counts are dynamic, and empty states trigger correctly. Also verify ProductDetail page loads correct product data from /api/products/:id.

Depends on:#25#15#43#14
Waiting for dependencies
AI 40%
Human 60%
High Priority
1 day
Tech Lead
#52

Integrate OrderTracking Frontend Backend

To Do

As a Tech Lead, verify the end-to-end integration between the OrderTracking frontend page and the Orders backend API. Ensure order ID from URL param correctly fetches live status from /api/orders/:id/track, polling mechanism updates status timeline without page refresh, all 6 status stages render correctly with active/completed/pending states, and delivery tracking info is displayed when available from admin dispatch action.

Depends on:#41#26
Waiting for dependencies
AI 40%
Human 60%
High Priority
1 day
Tech Lead
#56

Integrate Landing Dynamic Content

To Do

As a Tech Lead, verify the end-to-end integration between the Landing page frontend sections (BestSellers, FeaturedCategories, CustomerTestimonials) and the backend APIs. Ensure BestSellers section fetches real products from /api/products/best-sellers replacing hardcoded data, FeaturedCategories displays real category counts from /api/products, CustomerTestimonials loads approved reviews from /api/reviews, and homepage banners load from /api/banners managed via admin panel.

Depends on:#31#7#34#5#4#25
Waiting for dependencies
AI 40%
Human 60%
Medium Priority
1 day
Tech Lead
#92

Integrate Wishlist Frontend Backend

To Do

As a Tech Lead, verify the end-to-end integration between the wishlist UI interactions (ProductHero heart button, BestSellers heart button, RelatedProducts) and the Wishlist backend API. Ensure wishlist toggle calls POST /api/wishlist/items or DELETE /api/wishlist/items/:productId, persisted state is reflected on page reload, and unauthenticated users are redirected to Login before adding to wishlist.

Depends on:#84#43
Waiting for dependencies
AI 55%
Human 45%
Medium Priority
0.5 days
Tech Lead
#94

Integrate ProductDetail Frontend Backend

To Do

As a Tech Lead, verify the end-to-end integration between the ProductDetail frontend page (ProductHero, ProductGallery, ProductInfo, CustomizationOptions, ProductReviews, RelatedProducts sections) and the Products, Cart, Wishlist, and Reviews backend APIs. Ensure product data loads from GET /api/products/:id, Add to Cart calls POST /api/cart/items, review submission calls POST /api/products/:id/reviews, related products load from GET /api/products with category filter, and customization form state is correctly passed when initiating a custom cake order.

Depends on:#84#25#29#43#34
Waiting for dependencies
AI 55%
Human 45%
High Priority
1 day
Tech Lead
#19

Implement CartCTA for Cart

To Do

As a frontend developer, implement the CartCTA section for the Cart page. This section renders a Three.js gold-dust particle field using `@react-three/fiber` Canvas (camera position [0,0,3], fov 50, dpr [1,1.5], alpha true) with a `ParticleField` component that creates 80 gold particles (`#D4AF37`) using `useMemo` for positions (Float32Array, 3 values each, range ±3/±2/±1) and sizes (Float32Array, 0.008–0.033 range), animated via `useFrame` rotating the `points` mesh on Y-axis at 0.06 rad/s and sinusoidal X-axis tilt. Content area uses `motion.a` from framer-motion with `fadeUp` variants (staggered delay `i * 0.12`, duration 0.55, custom ease) for a primary checkout button (href `/Checkout`, `ShoppingBag` icon, `whileHover scale 1.02`, `whileTap scale 0.98`) and secondary continue-shopping button (href `/Products`, `ArrowRight` icon). Renders `trustBadges` array (`Lock`/Secure Checkout, `ShieldCheck`/Razorpay Secure, `Package`/Fast Delivery) as animated badge chips. Imports ParticleField.css and CartCTA.css. Also imports `Gift` from lucide-react.

Depends on:#17#18
Waiting for dependencies
AI 80%
Human 20%
High Priority
2 days
Frontend Developer
#50

Integrate Checkout Payment Flow

To Do

As a Tech Lead, verify the end-to-end integration between the Checkout frontend page and the Payment and Order backend APIs. Ensure Razorpay payment modal opens correctly with order amount from /api/payments/create-order, payment signature verification completes via /api/payments/verify, order is created in DB upon payment success, customer receives confirmation email, and user is redirected to OrderTracking page with correct order ID. Test UPI, card, and net banking payment methods.

Depends on:#26#28#40
Waiting for dependencies
AI 40%
Human 60%
High Priority
1.5 days
Tech Lead
#51

Integrate OrderHistory Frontend Backend

To Do

As a Tech Lead, verify the end-to-end integration between the OrderHistory page frontend (OrderHistoryHero, OrderHistoryFilters, OrderHistoryList, OrderHistoryEmpty sections) and the Orders backend API. Ensure orders are fetched from /api/orders/my-orders with filter params (status, date range, sort) correctly mapped, pagination works with server-side data, empty state renders when no orders exist, and real order stats (total, delivered, in-progress) replace hardcoded values in OrderHistoryHero.

Depends on:#21#22#26#20#23
Waiting for dependencies
AI 40%
Human 60%
Medium Priority
1 day
Tech Lead
#54

Integrate AdminPanel Frontend Backend

To Do

As a Tech Lead, verify the end-to-end integration between the AdminPanel frontend page and all admin backend APIs. Ensure: product CRUD operations work with Cloudinary image uploads reflected in product list, order status updates via API trigger customer email notifications, analytics charts display real data from /api/admin/analytics/* endpoints, banner uploads appear on Landing page, store settings changes (contact, logo, timings) propagate to frontend display, and custom cake request accept/reject updates are persisted.

Depends on:#27#25#31#44#26
Waiting for dependencies
AI 40%
Human 60%
High Priority
2 days
Tech Lead
#95

Integrate Checkout Delivery API

To Do

As a Tech Lead, verify the end-to-end integration between the Checkout frontend page and the Delivery Management backend API. Ensure delivery charge is fetched from POST /api/delivery/estimate when address is entered, delivery zones are reflected in available options, store pickup option toggles delivery fee to zero, and selected delivery slot is persisted in the order payload. Also confirm that Porter-abstracted DeliveryService interface is correctly invoked and the architecture supports future Porter provider swap without UI changes.

Depends on:#40#33
Waiting for dependencies
AI 55%
Human 45%
Medium Priority
1 day
Tech Lead
#49

Integrate Cart Frontend Backend

To Do

As a Tech Lead, verify the end-to-end integration between the Cart page frontend (CartItems, CartSummary, CartCTA sections) and the Cart backend API. Ensure cart items are loaded from /api/cart, quantity updates are persisted via API, item removal works, promo code validation calls /api/cart/apply-coupon and reflects discount in CartSummary totals, and the checkout CTA correctly passes cart state to Checkout page. Verify cart badge count in Navbar updates in real-time.

Depends on:#18#17#19#32#29
Waiting for dependencies
AI 40%
Human 60%
High Priority
1 day
Tech Lead
Landing design preview
Login: Sign In Admin
AdminPanel: View Dashboard
AdminPanel: Manage Products
AdminPanel: Add Product
AdminPanel: Edit Product
AdminPanel: Manage Orders
AdminPanel: Update Order Status
AdminPanel: Manage Customers
AdminPanel: View Customer
AdminPanel: View Analytics
AdminPanel: Manage Banners
AdminPanel: Upload Banner
AdminPanel: Configure Settings