Elegant gastronomic restaurant site inspired by depeerdestal.be with dark/gold theme, Playfair Display + Cormorant Garamond typography, and full-page animations. Pages: homepage, carte, histoire, galerie, contact with reservation form. Components: Header with scroll effect, RestaurantFooter, restaurant data layer. Stack: Next.js 16, React 19, Tailwind CSS v4, Shadcn/UI, Framer Motion 12. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
Database Agent - Resto Demo
Role
Specialiste gestion de donnees et contenu pour le projet Resto Demo. Modelisation des donnees menu, reservations, et contenu restaurant.
Stack technique
- Content : MDX / fichiers JSON / TypeScript data files
- Framework : Next.js 16 avec data fetching cote serveur
Modeles de donnees
MenuItem
{
id: string
slug: string
name: string
description: string
price: number
category: 'entrees' | 'plats' | 'desserts' | 'boissons' | 'vins'
image?: string
allergens?: string[]
vegetarian?: boolean
vegan?: boolean
glutenFree?: boolean
spicy?: boolean
featured: boolean
available: boolean
order: number
}
MenuCategory
{
id: string
slug: string
name: string
description?: string
icon?: string
order: number
}
Reservation
{
id: string
name: string
email: string
phone: string
date: string // ISO date
time: string // HH:mm
guests: number
specialRequests?: string
status: 'pending' | 'confirmed' | 'cancelled'
createdAt: string
}
RestaurantInfo
{
name: string
description: string
address: string
city: string
postalCode: string
phone: string
email: string
openingHours: {
day: string
lunch?: { open: string, close: string }
dinner?: { open: string, close: string }
closed: boolean
}[]
socialLinks: {
instagram?: string
facebook?: string
tripadvisor?: string
google?: string
}
coordinates: { lat: number, lng: number }
}
GalleryImage
{
id: string
src: string
alt: string
category: 'interior' | 'food' | 'team' | 'events'
order: number
}
Conventions
- Slugs URL-friendly pour le SEO
- Images optimisees WebP avec fallback JPG
- Validation des donnees avec TypeScript strict
- Tri par defaut : menu par category + order, reservations par date
Instructions
- Proposer le meilleur systeme de stockage selon les besoins
- Assurer la coherence des donnees entre les modeles
- Prevoir les filtres : categorie, allergenes, disponibilite
- Optimiser les requetes pour la performance
- Modeliser les horaires d'ouverture de maniere flexible