Product scope
The platform is not a generic tour booking site. Core capabilities include:
- Puja booking — group (10–30 pilgrims) and personal (1–5 pilgrims).
- Ganga Aarti booking.
- Pind Pradanam / Pitra Tarpan — scheduling with ancestor details.
- Shahi Snan packages and fixed auspicious dates.
- Veda Mineral Water — branding page and B2B/B2C-style orders.
- Find nearest stall — GPS on mobile, maps embed on web.
- Payments — Stripe only (India + international in one stack).
- Confirmations via email (Resend) and WhatsApp (provider TBD).
Platforms
| Surface | Stack | Deployment |
|---|---|---|
| Web | Next.js 15 (App Router, RSC), React 19, TypeScript strict, Tailwind v4, bespoke culturally rooted UI (custom components + shared tokens; not shadcn), Framer Motion, Zustand, TanStack Query v5, nuqs, Better Auth | Vercel |
| Mobile | React Native + Expo, Expo Router, TanStack Query, Zustand (MMKV persistence), Zod validators, Stripe React Native, react-native-maps + expo-location, expo-notifications; UI aligned with the same cultural design system as web | EAS Build / Submit |
| API | Node 20, Hono, Drizzle ORM, Neon PostgreSQL; later: Cloudflare R2, Resend, Stripe webhooks (per delivery plan) | Fly.io, EC2, or Vercel (API host TBD — see delivery + single-host docs) |
Single payment provider
All card and local-method flows go through Stripe. Webhook verification and booking state transitions should live in one ingress (recommended: the Hono API), not duplicated on Next.js and the API.
Monorepo at a glance
chalo-kumbh/
├── apps/
│ ├── web/ # Next.js 15 (live)
│ ├── api/ # Node 20 + Hono (live)
│ └── mobile/ # Expo — planned (see mobile-app.html)
├── packages/
│ ├── db/ # Drizzle schema + migrations
│ ├── types/ # Shared TS types
│ ├── validators/ # Zod — web + mobile + api
│ └── utils/ # currency, dates, geo helpers
├── docs/ # static HTML → synced to web /docs
├── docker/ # planned (single-host-deployment.html)
├── turbo.json
├── package-lock.json
└── package.json
One plan, two horizons
Product plan (all HTML docs): one Kumbh platform — web + Expo, Neon, Stripe, Better Auth, culturally bespoke UI, single webhook ingress on the API. Repo today ships the web store + API + DB package; Expo, payments, R2, and Docker deploy are roadmap items named consistently across development plan, delivery, and single-host deployment.
Documentation map
Use the sidebar or the cards below. Each page is self-contained static HTML so you can open files locally or host on any static host.
Architecture
Repository layout, route groups, shared packages, webhook strategy.
Design language
Culturally rich bespoke UI for web and Expo — tokens, type, motion.
Web application
Next.js structure, pages, components, auth, and API client.
Mobile (Expo)
Expo Router tree, maps, notifications, persistence, Stripe.
Backend API
Hono layers, middleware, integrations, env.
Database
Drizzle tables, enums, indexes, Better Auth alignment.
API reference
REST /v1 endpoints, bodies, responses.
Development plan
Phases, sprints, workstreams, quality gates, risks, and launch.
Delivery & operations
Sprints, MVP order, CI/CD, integrations, risks.
Single-host deployment
Docker Compose on one EC2/VPS: proxy, web, API, phased plan from split hosting.