How masjedi/jpa-website works
This is a Laravel/Inertia travel-tourism website for Journey to Peace Afghanistan Tours, with public travel content and an admin content-management area. The public workflow routes a visitor request to a controller, which prepares published content and renders an Inertia page; the admin workflow supports editing tours, destinations, articles, gallery, and other operational content. The tree and sampled controllers support the tour, destination, and gallery paths in more detail than other named capabilities, so uncertain subsystem wiring is omitted.
Main entry points: Admin Content administration · app.tsx Inertia shell · web.php Web routes · public Public pages
Components 27
Public travel experience
- Public pages
resources/js/pages/public - Home content
app/Http/Controllers/HomeController.php - Tours and packages
app/Http/Controllers/TourController.php - Destinations
app/Http/Controllers/DestinationController.php - Articles
app/Http/Controllers/ArticleController.php - Gallery page
app/Http/Controllers/GalleryPageController.php - Travel sections
resources/js/components/sections - Travel services
resources/js/data/servicesData.ts
Travel content domain
- Tour presenter
app/Support/Tours/TourPresenter.php - Destination presenter
app/Support/Destinations/DestinationPresenter.php - Tour records
app/Models/Tour.php - Destination records
app/Models/Destination.php - Article records
app/Models/Article.php - Gallery records
app/Models/GalleryPhoto.php - Media processing
app/Support/Media/MediaProcessor.php
Administration
- Admin login
app/Http/Controllers/Admin/Auth/LoginController.php - Content administration
app/Http/Controllers/Admin - Admin pages
resources/js/pages/admin - Admin layout
resources/js/layouts/AdminLayout.tsx
Request and presentation
- HTTP entry
public/index.php - Laravel routing
bootstrap/app.php - Web routes
routes/web.php - Admin routes
routes/admin.php - Inertia shell
resources/js/app.tsx - Public layout
resources/js/layouts/PublicLayout.tsx
Other components
- Visitor
- Admin user
Connections 35
- Visitor → HTTP entry: requests page
- Admin user → HTTP entry: requests admin
- HTTP entry → Laravel routing: handles request
- Laravel routing → Web routes: loads routes
- Web routes → Home content: dispatches
- Web routes → Tours and packages: dispatches
- Web routes → Destinations: dispatches
- Web routes → Articles: dispatches
- Web routes → Gallery page: dispatches
- Laravel routing → Admin routes: loads routes
- Admin routes → Admin login: dispatches
- Admin routes → Content administration: dispatches
- Home content → Inertia shell: renders page
- Tours and packages → Tour records: queries
- Tours and packages → Tour presenter: formats listings
- Tours and packages → Inertia shell: renders page
- Destinations → Destination records: queries
- Destinations → Destination presenter: formats content
- Destinations → Inertia shell: renders page
- Articles → Article records: loads content
- Articles → Inertia shell: renders page
- Gallery page → Gallery records: loads content
- Gallery page → Inertia shell: renders page
- Inertia shell → Public pages: displays page
- Public pages → Public layout: uses layout
- Public pages → Travel sections: composes sections
- Public pages → Travel services: uses service content
- Admin login → Inertia shell: renders login
- Content administration → Admin pages: renders admin pages
- Content administration → Tour records: manages records
- Content administration → Destination records: manages records
- Content administration → Article records: manages records
- Content administration → Gallery records: manages records
- Content administration → Media processing: stores media
- Admin pages → Admin layout: uses layout