How davidakerlind/harpaviljongen works
Harpaviljongen is a React restaurant website: visitors navigate its home, menu, chambre séparée, gallery, and events pages to view restaurant information and event details. The app routes requests to page components; menu, wine, opening-hours, event, and site-configuration data are obtained through API modules. Admin-managed settings control page visibility, menu links, and the hero slideshow, with site configuration cached in the browser. The README documents additional capabilities whose page-level wiring is not shown in the sampled source, so those links are not inferred. Booking and analytics integrations are included as documented or source-visible external services.
Main entry points: App.jsx Router · useSiteConfig.js Site settings · NavBar.jsx Navigation · HomePage.jsx Home page
Components 23
Web application
- Router
src/App.jsx - Home page
src/pages/HomePage/HomePage.jsx - Navigation
src/components/NavBar/NavBar.jsx
Restaurant content
- Menu page
src/pages/MenuPage/MenuPage.jsx - Chambre page
src/pages/ChambrePage/ChambrePage.jsx - Gallery page
src/pages/GalleryPage/GalleryPage.jsx - Events page
src/pages/EventsPage/EventsPage.jsx - Event details
src/pages/SingleEventPage/SingleEventPage.jsx - Wine list page
src/pages/WineListPage/WineListPage.jsx - Event calendar
src/components/EventCalendar/EventCalendar.jsx - Hero slideshow
src/components/HeroSection/useHero.js
Data and settings
- Site settings
src/API/useSiteConfig.js - Events API
src/API/fetchAllEvents.js - Event detail API
src/API/fetchEventById.js - Menu API
src/API/fetchMenuById.js - Opening hours API
src/API/fetchOpeningHours.js - Wine list API
src/API/fetchWineList.js - Browser cache
src/API/useSiteConfig.js
External services
- Restaurant REST API
- Admin service
- Booking service
- Analytics endpoint
Other components
- Visitor
Connections 26
- Visitor → Router: opens site
- Router → Home page: routes to
- Router → Menu page: routes to
- Router → Chambre page: routes to
- Router → Gallery page: routes to
- Router → Events page: routes to
- Router → Event details: routes to
- Router → Wine list page: routes to
- Home page → Site settings: reads settings
- Navigation → Site settings: reads settings
- Hero slideshow → Site settings: reads hero config
- Site settings → Browser cache: reads and writes
- Site settings → Restaurant REST API: fetches config
- Restaurant REST API → Site settings: returns config
- Admin service → Restaurant REST API: publishes settings
- Event calendar → Events API: fetches events
- Events API → Restaurant REST API: requests events
- Event details → Event detail API: fetches event
- Event detail API → Restaurant REST API: requests event
- Menu page → Menu API: fetches menu
- Menu API → Restaurant REST API: requests menu
- Wine list page → Wine list API: fetches wine list
- Wine list API → Restaurant REST API: requests wine list
- Opening hours API → Restaurant REST API: requests hours
- Navigation → Booking service: opens booking
- Router → Analytics endpoint: records page views