Skip to content

Website (apps/website)

Main web application of the Booking Platform, built with SolidJS and TanStack Start.

Overview

The website workspace is the primary application providing the full booking platform experience. It includes customer-facing pages, provider dashboards, admin panels, and all server-side API handlers.

Tech Stack

LayerTechnologyVersion
FrameworkSolidJS^1.9.14
Meta FrameworkTanStack Start^1.168.28
Build ToolVite (Rolldown)npm:rolldown-vite@latest
RouterTanStack Solid Router^1.170.18
StateTanStack Solid Store^0.11.0
Data FetchingTanStack Solid Query^5.101.2
FormsTanStack Solid Form^1.33.2
API LayeroRPC^1.14.8
ValidationZod^4.4.3
DatabaseDrizzle ORM^0.45.2
AuthSupabase + jose JWT^2.110.7 / ^6.2.3
PaymentsStripe^22.3.2
StylingUnoCSS^66.7.5
AITanStack AI + OpenAI^0.39.1 / ^0.15.10
TableTanStack Solid Table^8.21.3
Redisioredis^5.11.1
TestingVitest + Playwright^4.1.10 / ^1.61.1
EmailResend^6.17.2
Markdownmarkdown-it + @shikijs/markdown-it^14.3.0 / ^4.3.1
Sanitizationisomorphic-dompurify^3.18.0

Modules

The website source code is organized into 18 top-level feature modules under src/modules/, containing 295 route files and 21 server handler groups:

ModuleDescription
adminAdmin panel — users, providers, disputes, promotions, reports
authAuthentication, RBAC, guards, session management
billingBilling and subscription management
configApp configuration and feature flags
databaseDrizzle ORM schema, migrations, seeds
devtoolsDeveloper tools and debugging utilities
feature-flagsFeature flag management and toggles
infrastructureServer infrastructure, middleware, oRPC setup
layoutApp layout — header, footer, navigation, sidebar
bookingsCustomer booking management and history
nativeCapacitor mobile bridge — biometric, haptics, camera
providerProvider dashboard — 30+ sub-modules including bookings, services, staff, calendar, chat, analytics, reviews, promotions, onboarding, notifications, availability, loyalty, realtime, recurring-bookings, social-sharing, subdomain, video-consultations
public-pagesPublic-facing pages with custom domains
searchProvider and service search with filters
settingsUser and provider settings
sharedShared utilities and common components
supportSupport tickets, SLA, AI assistant
userUser profile, verification, badges

Key Scripts

bash
# Development
moon run apps-website:dev

# Build
moon run apps-website:build

# SPA build (for Capacitor)
moon run apps-website:build-spa

# Database
moon run apps-website:db-generate    # Generate migration
moon run apps-website:db-migrate      # Run migrations
moon run apps-website:db-push         # Push schema (dev only)
moon run apps-website:db-studio       # Open Drizzle Studio
moon run apps-website:db-seed         # Seed database

# Testing
moon run apps-website:test            # Unit tests
moon run apps-website:test-coverage   # Coverage report
moon run apps-website:test-e2e        # Playwright E2E

# Quality
moon run apps-website:lint
moon run apps-website:typecheck
moon run apps-website:verify

Environment Variables

See apps/website/.env.example for all required variables. The website workspace uses Infisical for secrets management — see apps/website/.infisical.json.

VariableDescriptionRequired
DATABASE_URLPostgreSQL connection stringYes
VITE_SUPABASE_URLSupabase project URLYes
VITE_SUPABASE_ANON_KEYSupabase anon keyYes
SUPABASE_SERVICE_ROLE_KEYSupabase service role (server)Yes
STRIPE_SECRET_KEYStripe API secretYes
STRIPE_WEBHOOK_SECRETStripe webhook signing secretYes
VITE_STRIPE_PUBLISHABLE_KEYStripe publishable key (client)Yes
OPENAI_API_KEYOpenAI API keyNo
CLOUDFLARE_API_TOKENCloudflare API tokenNo
DEMO_PASSWORDDemo account passwordDev only

Architecture

apps/website/src/
├── modules/           # 18 top-level feature modules
│   ├── admin/         # Admin panel
│   ├── auth/          # Authentication & RBAC
│   ├── billing/       # Billing & subscriptions
│   ├── config/        # App configuration
│   ├── database/      # Drizzle schema & migrations
│   ├── devtools/      # Developer tools
│   ├── feature-flags/ # Feature flag management
│   ├── infrastructure/ # Server setup & oRPC
│   ├── layout/        # App layout
│   ├── bookings/      # Customer bookings
│   ├── native/        # Capacitor bridge
│   ├── provider/      # 30+ sub-modules (bookings, services, staff, etc.)
│   ├── public-pages/  # Public-facing pages
│   ├── search/        # Search & discovery
│   ├── settings/      # User & provider settings
│   ├── shared/        # Shared utilities
│   ├── support/       # Support tickets
│   └── user/          # User profile
├── routes/            # TanStack Router file-based routes
└── server/            # oRPC server handlers (21 handler groups)

Released under the MIT License.