Ferea – Next.js 16 Café and Coffee Shop Template

Preview
Preview 1

A café's website has one job before anything else: to make a visitor want to come in, or order now. Ferea is built around that appetite — big warm headlines in a tall condensed face, copper bands and tilted sticker labels, cut-out cups and coffee beans that drift as the page scrolls, and a menu that reads like a menu board. Built on the Next.js 16 App Router with React 19 and TypeScript in strict mode, it ships 17 page templates covering 42 fully static pages, with a working online menu — Add to Cart, two cart drawers, checkout and an order confirmation — and the menu, categories and blog driven by JSON and MDX files you edit directly. No CMS or backend required.

Whether you run an independent café, a specialty coffee roaster, a bakery or patisserie, a tea or juice bar, a coffee chain's local branch or any food and drink brand, Ferea gives you every page the shop needs — a home page with a menu slider and scroll-linked scenes, an about page whose story timeline draws itself as you read, a tabbed menu, fourteen menu item pages, five category pages, nine full-length articles and a contact page with opening hours. Content lives in JSON and MDX files: re-price a latte and it is re-priced on the menu, its category page, the home slider and in the basket at once. Launch in hours.

Tech Stack

  • Next.js 16 — App Router, every page prerendered to static HTML at build time

  • React 19 — server components throughout, with small client islands for the basket and the interaction layer

  • TypeScript — strict mode, `npm run typecheck` clean

  • Hand-crafted CSS — one plain stylesheet driven by CSS custom properties, no utility framework and no build-time CSS pipeline

  • Self-hosted webfonts — Fira Sans Extra Condensed and Akshar as woff2, no third-party font requests at runtime

  • JSON and MDX content layer — the menu and categories as JSON, the articles as MDX with gray-matter frontmatter and a Markdown parser that renders into the design's own markup

  • Front-end shop — a React cart store in `localStorage`: Add to Cart, quantities, two cart drawers, checkout and order confirmation

  • Zero animation libraries — no jQuery, no GSAP, no Lenis: the opening sequence, the scroll reveals, the five scroll-linked scenes, the menu slider, the mega menu and the smooth wheel scroll are one TypeScript file

Included Pages and Templates

Core pages

  • Home with the swinging hero cup, the "more than coffee" paragraph that reads in letter by letter, a menu slider with arrows, swipe and autoplay, feature cards that trade places, the place and special-offer sections, a running word strip, a testimonial deck that throws its cards aside, the four newest articles and the FAQ

  • About with the story timeline that draws itself as you scroll, the rating and why-choose sections, the team and the FAQ

  • Menu with a tab per category and an ALL tab listing every item by category

  • Contact with a labelled enquiry form, the address and the opening hours

Menu and shop

  • 14 menu item pages, each with its price, sizes, three facts, a full-size picture viewer, Add to Cart and three suggested items

  • 5 menu category pages: Espresso, Brewed Coffee, Matcha, Non-Caffeinated and Pastries

  • Checkout, PayPal checkout and an order confirmation that prints the order placed

Blog

  • Blog index and 9 full-length articles, each with an author, a picture gallery, share links and three related articles

Utility pages

  • Style guide, instructions, licenses, changelog, a 401 password-protected page and a 404 page

17 page templates. 42 static pages.

Easy Content Editing

Everything you change lives in `src/content/`. Edit a file, rebuild, done.

  • `src/content/products.json` — the 14 menu items: the name, the description, the price and what it buys, the sizes, the picture, the three facts, the category and the three suggested items

  • `src/content/categories.json` — the 5 menu categories

  • `src/content/blog/*.mdx` — the 9 articles: the title, category, date, author, the card, banner and gallery pictures, the related articles and the body

Every card reads the item's own entry, so a re-priced latte is re-priced on the menu, on its category page, in the home slider and under every item that suggests it — and Add to Cart reads the entry too, so the basket charges what the page shows. File an item under a category and it appears under that tab and on that category's page by itself.

Article bodies are Markdown: section headings, small headings and paragraphs, before and after the picture gallery. A parser places each block inside the design's own markup, so the words stay editable and the layout stays exact. Reach past that grammar, or name a category or suggestion that does not exist, and the build stops and names the file.

Theming is one file. Every brand colour, font, spacing step and type size is a CSS custom property in the `:root` block of `public/assets/css/styles.css`. Change a value there and it propagates across every page.

Verified Against the Original

All 42 pages were compared against the original template tag for tag, attribute for attribute and text run for text run — in the body and in the head — and lay out to the same height at four widths. The stylesheet is the original, unchanged; every page was swept for horizontal overflow from 320 to 1920 pixels wide with the menu open and closed, and every interaction — the whole shop included, from Add to Cart to the order confirmation — was driven on the original and on the port and left the same state on the page. The header, the footer, 1,262 copies of three repeated primitives and 125 menu and article cards are components that render the original markup exactly.

Performance and SEO

  • Every page prerendered as static HTML, ready for a CDN

  • Per-page title, description and Open Graph and Twitter card metadata

  • Absolute share-image URLs so link previews resolve

  • Self-hosted fonts with `font-display: swap` and zero third-party requests

  • AVIF imagery with responsive `srcset` sizes, lazy-loaded below the fold

  • Semantic markup with one H1 per page, real buttons and landmarks

  • Keyboard-reachable menus, ARIA tabs with arrow-key support, a labelled slider and cart dialogs, and FAQ rows built on real buttons

  • Full `prefers-reduced-motion` support, and readable with JavaScript off

Deployment

Deploys to Netlify (`netlify.toml` included), Vercel, Cloudflare Pages or any host that runs a Next.js build. `npm run build` prerenders every page; there is no server, no database and no API to configure.

What You Get

  • The complete Next.js 16 project source

  • 17 page templates covering 42 static pages

  • 14 menu items, 5 categories and 9 articles as editable JSON and MDX

  • A working front-end cart, checkout and order confirmation

  • The original stylesheet and self-hosted webfonts

  • Full HTML documentation

  • Changelog and third-party license file

Requirements

  • Node.js 20 or newer

  • npm 10 or newer, or pnpm, yarn or bun

Subtotal$49.00
Tax•
Tax included
Total$49.00
By placing an order, you authorize Blink to charge your selected payment method the amount shown above. You agree to our Terms and acknowledge the .
Powered byBlink