Skip to content
/Catering Calculator
Web AppWeb

Catering Calculator

Event Catering Pricing & Recipe Management Tool

Live
Users
6+
Screens
React.jsViteReact Routerreact-pageflipCSS3JavaScriptCustom Hooks

About the Project

Catering Calculator is a React + Vite web application built for event catering businesses to streamline menu pricing, bulk order calculations, and recipe discovery. The app is structured around two core workflows: a smart catering cart and an interactive recipe book.

The cart system supports bulk pricing with unified discount handling, separating subtotal, savings, and final payable total into clearly distinct values. A guest count input multiplies product quantities across the entire cart and dynamically updates total cost, per-person cost, and savings in real time — making it accurate for large group event orders.

The recipe book went through two major UI iterations. The first introduced an interactive flipbook interface using react-pageflip, giving users a physical book-browsing experience with page-flip animations and accidental-flip prevention on action buttons. The second redesign replaced the flipbook with a categorised, filterable list view — adding category, product, and search filters for faster discoverability alongside user-friendly tips, which proved more practical for real-world use.

The codebase was refactored from a monolithic App.jsx into dedicated modular components and custom hooks — separating UI sections from business logic for maintainability and scalability. The header was rebuilt with a reusable button pattern and a mobile toggle menu. The footer, cart page, and enquiry page were all updated with improved visual hierarchy and responsive layouts.

Navigation uses React Router with a ScrollToTop utility ensuring the window resets to top on every page transition. The dev environment supports LAN access, ngrok tunnelling, and a custom port for flexible external preview during development.

Key Highlights

Guest count input multiplies quantities across cart — updates total, per-person cost, and savings live
Bulk pricing cart with unified discount logic separating subtotal, savings, and final payable total
Interactive recipe flipbook with page-flip animation and accidental-flip prevention
Recipe book redesigned with category, product, and search filters for fast discoverability
Fully modular architecture — business logic extracted into custom hooks, UI into dedicated components
Mobile-responsive header with toggle menu and streamlined cart count display
React Router SPA with ScrollToTop on every page transition
Dev environment configured for LAN, ngrok, and custom port access

Technical Breakdown

Feature areas & implementation details

Cart & Pricing Engine
Bulk discount handling unified into a single cart hook — subtotal, savings, and final payable total clearly separated
Guest count input multiplies all product quantities and recalculates per-person cost and total savings in real time
Chunked bulk benefits info rendering for easier content updates without logic changes
Enquiry page summarises full order with per-guest breakdown for event planning clarity
Recipe Book
v1: Interactive page-flip interface using react-pageflip with physical book-browsing UX
Accidental-flip prevention on action buttons within flipbook pages
v2: Redesigned as categorised filterable list — category, product, and search filters for faster discovery
User-friendly tips section added alongside recipe listings
Dedicated recipe book route added to React Router navigation
Modular Architecture
Refactored from monolithic App.jsx into dedicated components and custom hooks
Business logic (cart calculations, filter state, guest count) extracted into reusable hooks
UI sections (header, footer, cart, enquiry, recipe book) separated into independent components
Enables easy feature expansion and consistent codebase scaling
UI & Responsiveness
Header rebuilt with reusable button pattern and mobile toggle menu
Cart and enquiry pages updated with improved layout, typography, and visual hierarchy
Filter controls refined with clearer actions and consistent sizing across product and recipe views
Footer layout and typography updated for readability across all device sizes
ScrollToTop on route change ensures user context resets correctly on page transitions

Other Projects

View All →
Arkmantra
Ayurvedic Cosmetics E-Commerce Storefront & Admin

A highly hardened, full-featured D2C storefront and admin control panel designed...

Soul33 – The Beacon
Spirituality, Meditation & Mindfulness Platform

A cross-platform spiritual wellness app live on iOS & Android with Free, Seeker ...

Yoke Yoga
Social Wellness, Live Yoga & Learning Platform

Production yoga social platform — TikTok-style Reels, ZEGOCLOUD live streaming +...