How ilyas-sahara/moroccan-desert works
Sahara Vacation is a multilingual marketing and trip-planning site for Moroccan desert journeys. Visitors enter through the React router, browse tours, experiences, and editorial pages, or use the custom-journey and contact pages to inquire. Site content is also editable through the Decap CMS admin, whose GitHub OAuth proxy supports editor authentication. The source excerpts establish the router, locale/SEO behavior, custom-journey content loading, and worker integrations; unsampled page-to-service wiring is omitted.
Main entry points: App.tsx App router · useSeo.ts SEO metadata · config.js Decap admin · Tours.tsx Tour pages
Components 24
Visitor site
- App router
src/App.tsx - Home
src/pages/Home.tsx - Tour pages
src/pages/Tours.tsx - Tour detail
src/pages/TourDetail.tsx - Experiences
src/pages/Experiences.tsx - Blog pages
src/pages/Blog.tsx - Blog detail
src/pages/BlogDetail.tsx - About page
src/pages/About.tsx - Contact page
src/pages/Contact.tsx - Custom journey
src/pages/CustomJourney.tsx - Legal pages
src/components/LegalPage.tsx - Site navigation
src/components/Navbar.tsx - SEO metadata
src/hooks/useSeo.ts
Content and localization
- Locale provider
src/i18n/index.tsx - CMS content access
src/data/cms.ts - Tour content
src/data/content.ts
CMS editing
- Content editor
- Decap admin
public/admin/config.js - CMS previews
public/admin/preview.js
Inquiry and authentication
- OAuth proxy
oauth-proxy/worker.js - Contact worker
contact-form/src/worker.js
Other components
- Traveler
- GitHub
- Gmail SMTP
Connections 27
- Traveler → App router: opens pages
- App router → Home: routes to
- App router → Tour pages: routes to
- App router → Tour detail: routes to
- App router → Experiences: routes to
- App router → Blog pages: routes to
- App router → Blog detail: routes to
- App router → About page: routes to
- App router → Contact page: routes to
- App router → Custom journey: routes to
- App router → Legal pages: routes to
- App router → Site navigation: renders
- App router → Locale provider: provides locale
- Home → SEO metadata: sets metadata
- Tour pages → SEO metadata: sets metadata
- Tour detail → SEO metadata: sets metadata
- Blog pages → SEO metadata: sets metadata
- Blog detail → SEO metadata: sets metadata
- Custom journey → CMS content access: loads content
- Tour pages → Tour content: reads tour data
- Tour detail → Tour content: reads tour data
- Content editor → Decap admin: edits content
- Decap admin → CMS previews: renders previews
- Decap admin → OAuth proxy: authenticates via
- OAuth proxy → GitHub: requests OAuth
- Decap admin → GitHub: commits content
- Contact worker → Gmail SMTP: sends inquiry email