E-commerce website for Generation Bread — a bakery café on P. Gomez Street, Tacloban City (a subsidiary of Ironwood Hotel). Fresh breads, pastries, and cakes, with online ordering for pickup and delivery.
Live catalog highlights: Ube Cheese Pandesal, three-day fermented croissants, egg tarts, Pande Coco, crookies, cakes, and more.
- Next.js 16.3.5 (App Router) + React 19 + TypeScript
- Tailwind CSS v4
- PostgreSQL (Neon) via
pg— JSONB-per-row data pattern - Floating FAQ/catalog chatbot with Facebook Messenger handoff
- Storefront — home,
/products(category/sort/price filters), product detail, collections, about, FAQ, contact - Cart & checkout — cart drawer, checkout form, order creation (
/api/orders), GCash/Maya/Bank/COD, order confirmation with Messenger confirm CTA - Admin panel at
/admin— cookie-session auth, dashboard stats, orders, products (stock/variants), categories, reviews, FAQs/content, media upload, logo update - Chatbot — FAQ keyword matching + live catalog lookup (prices, stock, category browse), quick-reply chips, Messenger handoff
- Navbar — fixed header, dropdown search under the icon (
/products?q=…), mobile bottom bar
npm install
cp .env.example .env.local
# edit .env.local — set DATABASE_URL (Neon or local Postgres)
npm run devOpen http://localhost:3000. The DB schema auto-initializes and the bread/pastry catalog seeds on first request.
| Variable | Required | Description |
|---|---|---|
DATABASE_URL |
Yes | Postgres connection string (Neon in prod) |
ADMIN_PASSWORD |
Prod yes | Password for /admin (dev fallback: generationbread2026) |
ADMIN_SESSION_SECRET |
Optional | Cookie signing secret (derived from ADMIN_PASSWORD if unset) |
NEXT_PUBLIC_SITE_URL |
Yes in prod | Canonical site URL for SEO/sitemap |
DATA_DIR |
Optional | Override data dir (legacy migration only) |
| Command | Description |
|---|---|
npm run dev |
Start dev server (port 3000) |
npm run build |
Production build |
npm run start |
Start production server |
npm run lint |
ESLint |
npm run migrate:neon |
Import legacy .data/ file store into Neon |
- Push this repo to GitHub (already connected:
Jorayyy/generation-bread). - In Vercel, Import the
generation-breadrepo (Next.js preset is automatic). - Add environment variables:
DATABASE_URL— your Neong_breadconnection stringADMIN_PASSWORD— choose a strong passwordNEXT_PUBLIC_SITE_URL— e.g.https://generation-bread.vercel.app(update after custom domain)
- Deploy. First request creates tables and seeds the catalog.
- Optional: attach a custom domain in Vercel → Domains, then update
NEXT_PUBLIC_SITE_URL.
src/
app/ # App Router pages, API routes, admin
components/ # Navbar, Footer, ShopBrowser, MessengerChat, cart, etc.
data/ # Seed: business profile, categories, products, FAQs, reviews
lib/ # db, store, admin-auth, cart/content contexts, helpers
scripts/ # seed-catalog, migrate-to-neon, replace-images
public/ # logo and static assets
- URL:
/admin - Password:
ADMIN_PASSWORD(or dev defaultgenerationbread2024→ usegenerationbread2026as set in this project) - Footer → Navigation → Admin Login
- Address: P. Gomez Street, Tacloban City, Leyte 6500, Philippines
- Hours: Daily 7:00 AM – 11:00 PM
- Contact: generationbread@gmail.com · +63 917 102 1233
- Social: Facebook · Instagram
Modeled on the MicsApparel storefront architecture. Product prices and copy are placeholder seed data — manage the live catalog via /admin.