Play video
Pause video

Jiaoxi
Shan Guan

Japanese Kaiseki Restaurant Site + Three-Type Menu & Online Reservations

2026

Jiaoxi Shan Guan website screenshot
Scroll
Project Type Restaurant Brand Website
Timeline 2026
Core Tech Astro, Laravel, GraphQL

Project Overview

Jiaoxi Shan Guan is a "Guishan Island / Japanese seafood grill" fresh-catch restaurant in Jiaoxi, Yilan, blending Japanese grilling with Taiwanese wellness cuisine. Its core philosophy — "Fresh, Freshly Caught", "Natural, Fresh, Original Flavor", and "Reservation Means Freshness" — is backed by daily early-morning deliveries of fresh catch from Keelung's Kanziding fish market and Yilan's Daxi fishing harbor, with locally grown Yilan produce harvested the same day. The official domain, 039888033.com, is the reservation phone number itself — seen once, remembered forever.

The visual identity is built on a Japanese kaiseki palette: an ink-black stage, Shan Guan gold accents, and vermilion highlights, paired with oversized Noto Serif TC serif headings, Cinzel Latin subheadings, and a giant "Shan" character watermark throughout the site. The hero leads with "Freshly Caught Seafood / Naturally Sweet Cuisine" and the subline "Wellness Cuisine, Signature Grill, Daxi Harbor Fresh Sashimi", implemented with Astro 6 SSR and Vue 3 interactive components.

Beyond a brand site, the project includes a three-type menu system (banquet tables at NT$6,800–12,800 for a standard table of 10, set menus, and a la carte) and an online reservation form, plus a dish ordering catalog — chef's limited private dishes capped at 5–8 servings daily with 1–3 days advance ordering, alongside Nantou Lugu tea garden and seasonal fruit categories. The backend runs on Laravel + GraphQL + Filament with full admin management.

3 Menu Types (Banquet, Set, A La Carte)
2 Fresh-Catch Fish Markets (Keelung Kanziding, Yilan Daxi Harbor)
6800+ Banquet Menu Price Range (NT$6,800–12,800)

Core Features

01

Japanese Kaiseki Brand Visual

Ink black x Shan Guan gold x vermilion accents, oversized Noto Serif TC serif headings paired with Cinzel Latin subheadings, and a giant "Shan" character watermark throughout the site.

02

Homepage Hero Carousel

Full-screen banner auto-rotating every 6 seconds, with a gold fade-in two-line headline and dual CTAs (Reserve Now / Browse Menu).

03

Three-Type Menu System

Banquet tables (four tiers from 6,800 to 12,800), set menus, and a la carte in three switchable tabs — dishes, prices, and recommended badges all driven by the admin via fetchMenus().

04

Online Reservation Form

Complete fields for dining type, date and time slot, table count and party size; a GraphQL mutation writes to the admin, with parallel LINE friend-add and phone-call booking tracks.

05

Dish Ordering Catalog

Three categories — chef's limited private dishes (only 5–8 servings daily), Lugu tea garden, and seasonal fruit — in an advance-order inquiry mode.

06

Brand Story & Media

The "Fresh, Freshly Caught" philosophy narrative, a stacked dual-image round-seal design, and a YouTube video carousel (watch/shorts URLs auto-converted to embeds).

07

News System

Paginated article listing plus slug detail pages, with featured badges and publish scheduling.

08

Full Admin Management

All homepage copy and images, company settings (business hours, social QR, map), menus, articles, reservations, and contact submissions are maintained in the Filament admin.

Technical Details

Astro 6 SSR Architecture

The frontend is built with Astro 6 in server-side rendering mode with output: server and the Node adapter. First-screen content is fetched and assembled live from the backend, ensuring SEO crawlers and social previews receive complete content. Interactive components such as MediaCarousel use Vue 3 Islands with client:idle deferred hydration, prioritizing SEO and load performance.

GraphQL Headless CMS

The backend is built on Laravel, and the frontend pulls data through GraphQL via four data sources — fetchPageContent, fetchCompanySetting, fetchMenus, and fetchArticles — each with frontend fallback defaults, so the layout never breaks even when the admin has no data.

Dual-Track Reservation System

The reservation form is relayed through an Astro API route to the submitReservation mutation, protected by a 10-second timeout against hanging requests. Two backup booking channels — LINE official account friend-add and one-tap tel: dialing — run in parallel with the online form.

SEO Structured Data

The site outputs Restaurant + BreadcrumbList JSON-LD (including servesCuisine and priceRange) with canonical tags. Per-page SEO / OG fields are maintainable from the admin, and the sitemap covers ordering subpages for full search-engine and social-sharing support.

Marketing & Analytics Integration

Integrates GA4, GTM, LINE Tag, Microsoft Clarity, and Facebook Pixel — all managed via environment variables and loaded only in production, keeping development and staging environments clean while letting the client toggle trackers or swap tracking IDs per campaign.

Tailwind CSS 4 Design System

Tailwind CSS 4 @theme tokenizes the full ink-black, Shan Guan gold, and vermilion color scales alongside the serif type scale, so cards, buttons, and forms keep a consistent kaiseki refinement site-wide, while IntersectionObserver reveal animations bring content into view as visitors scroll.

Tech Stack

Backend

  • Laravel Framework
  • GraphQL API
  • Filament Admin Panel
  • Reservation / Contact Inbox

Frontend

  • Astro 6 SSR
  • Vue 3 Islands
  • TailwindCSS 4 Styling
  • Japanese Kaiseki Visual

Feature Modules

  • Three-Type Menu
  • Online Reservations
  • Dish Ordering Catalog
  • Media Video Carousel
  • News System

Deployment / Marketing

  • Node Deployment
  • GA4 + GTM
  • LINE Tag + FB Pixel + Clarity
  • Restaurant JSON-LD

CONTACT US

Have a similar project? Let's talk.

Whether it's a restaurant brand site, online reservation system, menu management, or a dish ordering catalog, we can tailor the right solution for you.

Contact Us