How globussoft-technologies/voyagr works
Voyagr is a multi-tenant travel-industry CMS. Its main workflow is tenant staff authoring and publishing pages or blog posts, then visitors discovering and reading that content on a tenant’s domain. The graph also shows media, theme and navigation configuration, newsletter and analytics capabilities, and the shared persistence and tenant-routing layers. Dashboard-to-API and public-site data access reflect the documented product structure; sampled excerpts confirm specific route-to-database and upload-to-storage behavior, but not every runtime connection.
Main entry points: dashboard Admin dashboard · db.ts MySQL data · [domain] Tenant public site · auth.ts Authentication
Components 22
Identity and tenants
- Team API
src/app/api/team/route.ts - Authentication
src/auth.ts - Domain routing
src/middleware.ts - Domain resolution
src/lib/domain.ts
Content management
- Admin dashboard
src/app/dashboard - Pages and posts API
src/app/api/pages - Posts API
src/app/api/posts - Rich editor
src/components/editor/RichEditor.tsx - Media API
src/app/api/media/route.ts - File storage
src/lib/storage.ts - Menu API
src/app/api/menus/route.ts
Public experience
- Tenant public site
src/app/sites/[domain] - Theme layouts
src/themes - Public search
src/app/api/search/route.ts
Marketing and insights
- Newsletter system
src/app/api/newsletter - Analytics
src/app/api/analytics
Shared services
- MySQL data
src/lib/db.ts - Tenant helpers
src/lib/tenant.ts - Email delivery
src/lib/email.ts
Other components
- Tenant staff
- Site visitors
- SMTP service
Connections 32
- Tenant staff → Admin dashboard: manages
- Admin dashboard → Authentication: authenticates
- Admin dashboard → Pages and posts API: manages pages
- Admin dashboard → Posts API: manages posts
- Admin dashboard → Rich editor: edits content
- Admin dashboard → Media API: manages media
- Media API → File storage: stores files
- Media API → MySQL data: writes metadata
- Admin dashboard → Menu API: configures navigation
- Admin dashboard → Team API: manages team
- Pages and posts API → Authentication: checks session
- Posts API → Authentication: checks session
- Team API → Authentication: checks session
- Pages and posts API → Tenant helpers: validates slugs
- Pages and posts API → MySQL data: reads and writes
- Posts API → MySQL data: reads and writes
- Menu API → MySQL data: reads and writes
- Team API → MySQL data: reads and writes
- Domain routing → Domain resolution: resolves tenant
- Domain routing → Tenant public site: routes requests
- Site visitors → Tenant public site: visits site
- Tenant public site → Theme layouts: renders theme
- Tenant public site → Public search: searches content
- Public search → MySQL data: queries published content
- Tenant public site → Newsletter system: subscribes
- Newsletter system → MySQL data: stores subscribers
- Admin dashboard → Newsletter system: builds campaigns
- Newsletter system → Email delivery: sends campaigns
- Email delivery → SMTP service: delivers mail
- Tenant public site → Analytics: tracks views
- Analytics → MySQL data: records and reports
- Authentication → MySQL data: reads identity data