# samethereal/yared_tours architecture

> Architecture diagram of the GitHub repository samethereal/yared_tours, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-29). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/samethereal/yared_tours
- Repository: https://github.com/samethereal/yared_tours

## Overview

Yared Tour & Travel is a public-facing Ethiopia tour operator site. Visitors discover curated trips, inspect itinerary details, and can move toward a custom journey inquiry; the inquiry endpoint validates submissions and returns a reference. The site also presents company, sustainability, destination guidance, and contact information. Source excerpts confirm the catalog-to-card and homepage-to-card connections, but do not show how the wizard submits or how dynamic tour details load, so those links are omitted. Contact routing is described in the endpoint payload; no external dispatch implementation is evidenced.

Main entry points: [`src/app/tours/page.tsx`](https://github.com/samethereal/yared_tours/blob/main/src/app/tours/page.tsx) (Tour catalog), [`src/app/page.tsx`](https://github.com/samethereal/yared_tours/blob/main/src/app/page.tsx) (Homepage), [`src/app/tours/[slug]/page.tsx`](https://github.com/samethereal/yared_tours/blob/main/src/app/tours/%5Bslug%5D/page.tsx) (Tour details), [`src/app/plan-your-journey/page.tsx`](https://github.com/samethereal/yared_tours/blob/main/src/app/plan-your-journey/page.tsx) (Journey planner page)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_discovery["Tour discovery"]
  node_home["Homepage<br/>[page.tsx]"]
  node_catalog["Tour catalog<br/>[page.tsx]"]
  node_tourcards["Tour cards<br/>[TourCard.tsx]"]
  node_tourdetail["Tour details<br/>[page.tsx]"]
  node_timeline["Itinerary timeline"]
  node_tourdata["Tour data<br/>[tours.json]"]
  node_tourtypes["Tour types<br/>[tour.ts]"]
end

subgraph group_planning["Journey planning"]
  node_wizardpage["Journey planner page<br/>[page.tsx]"]
  node_wizard["Journey builder"]
end

subgraph group_inquiry["Inquiries"]
  node_inquiryapi["Inquiry endpoint<br/>[route.ts]"]
  node_contact["Contact page<br/>[page.tsx]"]
end

subgraph group_information["Company information"]
  node_about["About company<br/>[page.tsx]"]
  node_companydata["Company data<br/>[company.json]"]
  node_sustainability["Sustainability<br/>[page.tsx]"]
  node_guide["Travel guide<br/>[page.tsx]"]
  node_guidedata["Guide content<br/>[travelGuide.json]"]
  node_privacy["Privacy policy<br/>[page.tsx]"]
  node_navbar["Navigation<br/>[Navbar.tsx]"]
  node_footer["Footer links<br/>[Footer.tsx]"]
end

node_traveler(("Traveler"))

node_traveler -->|"visits"| node_home
node_traveler -->|"browses"| node_catalog
node_traveler -->|"views"| node_tourdetail
node_traveler -->|"starts planning"| node_wizardpage
node_home -->|"renders"| node_tourcards
node_catalog -->|"reads"| node_tourdata
node_catalog -->|"renders"| node_tourcards
node_tourdetail -->|"renders"| node_timeline
node_wizardpage -->|"renders"| node_wizard
node_traveler -->|"contacts"| node_contact
node_traveler -->|"submits inquiry"| node_inquiryapi
node_inquiryapi -->|"uses submission type"| node_tourtypes
node_traveler -->|"reads"| node_about
node_about -->|"reads"| node_companydata
node_traveler -->|"reads"| node_sustainability
node_traveler -->|"reads"| node_guide
node_guide -->|"reads"| node_guidedata
node_traveler -->|"reads"| node_privacy
node_traveler -->|"navigates"| node_navbar
node_traveler -->|"follows links"| node_footer

click node_home "https://github.com/samethereal/yared_tours/blob/main/src/app/page.tsx"
click node_catalog "https://github.com/samethereal/yared_tours/blob/main/src/app/tours/page.tsx"
click node_tourcards "https://github.com/samethereal/yared_tours/blob/main/src/components/tours/TourCard.tsx"
click node_tourdetail "https://github.com/samethereal/yared_tours/blob/main/src/app/tours/%5Bslug%5D/page.tsx"
click node_timeline "https://github.com/samethereal/yared_tours/blob/main/src/components/tours/DayByDayTimeline.tsx"
click node_tourdata "https://github.com/samethereal/yared_tours/blob/main/src/data/tours.json"
click node_tourtypes "https://github.com/samethereal/yared_tours/blob/main/src/types/tour.ts"
click node_wizardpage "https://github.com/samethereal/yared_tours/blob/main/src/app/plan-your-journey/page.tsx"
click node_wizard "https://github.com/samethereal/yared_tours/blob/main/src/components/wizard/JourneyBuilderWizard.tsx"
click node_inquiryapi "https://github.com/samethereal/yared_tours/blob/main/src/app/api/inquiry/route.ts"
click node_contact "https://github.com/samethereal/yared_tours/blob/main/src/app/contact/page.tsx"
click node_about "https://github.com/samethereal/yared_tours/blob/main/src/app/about-us/page.tsx"
click node_companydata "https://github.com/samethereal/yared_tours/blob/main/src/data/company.json"
click node_sustainability "https://github.com/samethereal/yared_tours/blob/main/src/app/sustainability/page.tsx"
click node_guide "https://github.com/samethereal/yared_tours/blob/main/src/app/travel-guide/page.tsx"
click node_guidedata "https://github.com/samethereal/yared_tours/blob/main/src/data/travelGuide.json"
click node_privacy "https://github.com/samethereal/yared_tours/blob/main/src/app/privacy-policy/page.tsx"
click node_navbar "https://github.com/samethereal/yared_tours/blob/main/src/components/layout/Navbar.tsx"
click node_footer "https://github.com/samethereal/yared_tours/blob/main/src/components/layout/Footer.tsx"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_home,node_catalog,node_tourcards,node_tourdetail,node_timeline,node_tourdata,node_tourtypes toneBlue
class node_wizardpage,node_wizard toneAmber
class node_inquiryapi,node_contact toneMint
class node_about,node_companydata,node_sustainability,node_guide,node_guidedata,node_privacy,node_navbar,node_footer toneRose
class node_traveler toneIndigo
```

## Components

### Tour discovery

- [Homepage](https://github.com/samethereal/yared_tours/blob/main/src/app/page.tsx): `src/app/page.tsx`
- [Tour catalog](https://github.com/samethereal/yared_tours/blob/main/src/app/tours/page.tsx): `src/app/tours/page.tsx`
- [Tour cards](https://github.com/samethereal/yared_tours/blob/main/src/components/tours/TourCard.tsx): `src/components/tours/TourCard.tsx`
- [Tour details](https://github.com/samethereal/yared_tours/blob/main/src/app/tours/%5Bslug%5D/page.tsx): `src/app/tours/[slug]/page.tsx`
- [Itinerary timeline](https://github.com/samethereal/yared_tours/blob/main/src/components/tours/DayByDayTimeline.tsx): `src/components/tours/DayByDayTimeline.tsx`
- [Tour data](https://github.com/samethereal/yared_tours/blob/main/src/data/tours.json): `src/data/tours.json`
- [Tour types](https://github.com/samethereal/yared_tours/blob/main/src/types/tour.ts): `src/types/tour.ts`

### Journey planning

- [Journey planner page](https://github.com/samethereal/yared_tours/blob/main/src/app/plan-your-journey/page.tsx): `src/app/plan-your-journey/page.tsx`
- [Journey builder](https://github.com/samethereal/yared_tours/blob/main/src/components/wizard/JourneyBuilderWizard.tsx): `src/components/wizard/JourneyBuilderWizard.tsx`

### Inquiries

- [Inquiry endpoint](https://github.com/samethereal/yared_tours/blob/main/src/app/api/inquiry/route.ts): `src/app/api/inquiry/route.ts`
- [Contact page](https://github.com/samethereal/yared_tours/blob/main/src/app/contact/page.tsx): `src/app/contact/page.tsx`

### Company information

- [About company](https://github.com/samethereal/yared_tours/blob/main/src/app/about-us/page.tsx): `src/app/about-us/page.tsx`
- [Company data](https://github.com/samethereal/yared_tours/blob/main/src/data/company.json): `src/data/company.json`
- [Sustainability](https://github.com/samethereal/yared_tours/blob/main/src/app/sustainability/page.tsx): `src/app/sustainability/page.tsx`
- [Travel guide](https://github.com/samethereal/yared_tours/blob/main/src/app/travel-guide/page.tsx): `src/app/travel-guide/page.tsx`
- [Guide content](https://github.com/samethereal/yared_tours/blob/main/src/data/travelGuide.json): `src/data/travelGuide.json`
- [Privacy policy](https://github.com/samethereal/yared_tours/blob/main/src/app/privacy-policy/page.tsx): `src/app/privacy-policy/page.tsx`
- [Navigation](https://github.com/samethereal/yared_tours/blob/main/src/components/layout/Navbar.tsx): `src/components/layout/Navbar.tsx`
- [Footer links](https://github.com/samethereal/yared_tours/blob/main/src/components/layout/Footer.tsx): `src/components/layout/Footer.tsx`

### Other components

- **Traveler**

## Connections

- Traveler → Homepage: visits
- Traveler → Tour catalog: browses
- Traveler → Tour details: views
- Traveler → Journey planner page: starts planning
- Homepage → Tour cards: renders
- Tour catalog → Tour data: reads
- Tour catalog → Tour cards: renders
- Tour details → Itinerary timeline: renders
- Journey planner page → Journey builder: renders
- Traveler → Contact page: contacts
- Traveler → Inquiry endpoint: submits inquiry
- Inquiry endpoint → Tour types: uses submission type
- Traveler → About company: reads
- About company → Company data: reads
- Traveler → Sustainability: reads
- Traveler → Travel guide: reads
- Travel guide → Guide content: reads
- Traveler → Privacy policy: reads
- Traveler → Navigation: navigates
- Traveler → Footer links: follows links
