Minisites — Code Map
App root
apps/minisites/astro.config.mjs—output: 'server', dual adapter (Vercel / Node).apps/minisites/vercel.json— Vercel rewrites & domains.apps/minisites/package.json— Astro 5 + minimal section components.
Pages
apps/minisites/src/pages/[...slug].astro— single catch-all. Resolves the host, fetchespublishedContent, composes sections.apps/minisites/src/pages/404.astro— fallback when the host resolves but the site isn’t published.apps/minisites/src/pages/courses/— per-course landing pages.apps/minisites/src/pages/robots.txt.ts— robots dynamic endpoint.
Layout
apps/minisites/src/layouts/modern.astro— outer shell. Injects theme CSS variables, locale + direction, SEO tags, hero preload, floating WhatsApp button.
Section components
apps/minisites/src/components/sections/Hero.astroapps/minisites/src/components/sections/About.astroapps/minisites/src/components/sections/Classes.astroapps/minisites/src/components/sections/Schedule.astroapps/minisites/src/components/sections/Pricing.astroapps/minisites/src/components/sections/Courses.astroapps/minisites/src/components/sections/Trainers.astroapps/minisites/src/components/sections/Contact.astroapps/minisites/src/components/sections/Gallery.astroapps/minisites/src/components/sections/Testimonials.astroapps/minisites/src/components/sections/FAQ.astro
Lib
apps/minisites/src/lib/i18n.ts—resolveLocale(input)normalizes draft/org locale to one ofhe | en | ru.
Schema
libs/db/src/lib/schema/minisites.ts—minisite_contenttable.
API endpoints used
GET /minisites/resolve?host=<host>— public resolver consumed by the catch-all.- Editor endpoints (dashboard surface): live under the FitKit API minisites module; not consumed by the Astro app directly.