An e-commerce landing page for a homemade Minas Gerais cheese bread brand, built with React + Vite + TypeScript.
PΓ£o de Queijo Mineiro is an artisan food brand born in Iguatama, Minas Gerais. This website serves as a digital storefront and brand presentation, combining a warm visual identity with functional e-commerce features.
The site tells the story behind the brand β a family recipe passed down through generations β while allowing customers to browse products, manage a cart, and place orders directly via WhatsApp.
Live: paodequeijomineiro.vercel.app
cheese-bread-store-website/
βββ public/
βββ src/
βββ app/
β βββ App.tsx # Root component & routing
βββ assets/ # Images (hero, product photos, cheese photos)
βββ components/
β βββ layout/
β β βββ Header.tsx
β β βββ Footer.tsx
β βββ ui/ # Shared UI components (shadcn/ui)
βββ features/
β βββ carts/
β β βββ context/
β β βββ CartContext.tsx # Global cart + admin mode state
β βββ products/
β β βββ components/
β β βββ ProductCard.tsx # Product card with stock management
β βββ whatsapp/ # WhatsApp order integration
βββ layouts/
β βββ App.css
β βββ index.css # Global styles + Tailwind directives
βββ pages/
β βββ About/
β β βββ components/ # About page sections
β β βββ index.tsx
β βββ Contact/
β β βββ components/
β β β βββ HeroSection.tsx
β β βββ index.tsx
β βββ Home/
β β βββ components/
β β β βββ CheeseSection.tsx # Queijo Canastra highlight
β β β βββ ProductList.tsx # Product grid + banner
β β βββ index.tsx
β βββ NotFound/
βββ shared/
β βββ hooks/ # Custom React hooks
β βββ utils/ # Utility functions
βββ main.tsx
| Technology | Purpose |
|---|---|
| React 18 | Component-based UI |
| TypeScript | Type safety throughout |
| Vite | Fast dev server & build tool |
| Tailwind CSS | Utility-first styling |
| shadcn/ui | Accessible UI primitives |
| Lucide React | Icon library |
| React Router | Client-side routing |
The main landing page. Contains:
- Hero section β full-bleed image with brand headline
- CheeseSection β Queijo Canastra DOP feature with photo grid and stats (400+ years of tradition, DOP certification, 100% raw milk)
- ProductList β 2-column (mobile) / 3-column (desktop) product grid
- Banner β "ManhΓ£s mais felizes" call-to-action
Brand story and heritage page. Contains:
- Hero β Serra da Canastra landscape with brand origin tagline
- Founder story β Personal narrative about growing up in Iguatama, MG
- VΓ³ Geni tribute β Emotional section honoring the grandmother whose recipe inspired the brand
- Differentials β 6-card grid highlighting what makes the product unique (Canastra DOP, handmade recipe, family tradition, etc.)
- Final CTA β Link to products
- Hero β Contact page header
- WhatsApp-first contact approach
- Dynamic product grid loaded from context
- Each card displays: name, description, price, stock availability
- "Recheado" (stuffed) badge for special variants
- Sold-out state with grayscale treatment and disabled button
- Global cart state managed via React Context (
CartContext) - Add/remove items
- Order sent directly via WhatsApp with full product summary
- Hidden admin mode toggled via a secret interaction
- Allows stock editing directly on each product card (increment/decrement/input)
- Visual indicator badge when admin mode is active
The visual identity is built around a warm, artisan aesthetic inspired by the Minas Gerais region.
Color Palette:
| Token | Hex | Usage |
|---|---|---|
| Dark Brown (primary bg) | #2a1200 |
Section backgrounds, card backgrounds |
| Deep Background | #1a0f05 |
Page base background |
| Amber (accent) | #c47820 |
Labels, badges, highlights, CTAs |
| Cream (text) | #f5e8d0 |
Headings on dark backgrounds |
| Muted Cream | rgba(245,232,208,0.65) |
Body text on dark backgrounds |
| Warm Tan | #a37c53 |
Secondary section backgrounds |
Typography:
- Playfair Display β headings, prices, display text (editorial, serif)
- Inter β body text, labels, UI elements (clean, sans-serif)
Design Principles:
- Mobile-first, fully responsive with
clamp()fluid sizing - Consistent
letterSpacing: "0.22em"uppercase labels across sections - Image overlays use directional gradients for seamless text legibility
- Hover states: card lift (
hover:-translate-y-1), image zoom (group-hover:scale-105)
- Node.js 18+
- npm or yarn
# Clone the repository
git clone https://github.com/your-username/cheese-bread-store-website.git
cd cheese-bread-store-website
# Install dependencies
npm install
# Start development server
npm run devThe app will be available at http://localhost:5173.
npm run buildnpm run previewThe project is deployed on Vercel with zero configuration. Any push to main triggers an automatic deployment.
To deploy your own instance:
- Fork the repository
- Import it on vercel.com
- Deploy β Vercel auto-detects Vite
Create a .env file in the root if needed:
# Currently no required environment variables
# WhatsApp number is configured directly in the whatsapp featureThis project was built with love to honor a family tradition. Special thanks to vΓ³ Geni and MarΓlia, whose handmade recipes are the soul of every batch.
"Ao escaldar o polvilho, uma oraΓ§Γ£o Γ© sempre feita pela alma da vΓ³ Geni."
This project is private and proprietary. All rights reserved.