Welcome to the public-facing site and booking UI for Prarambh Theatre Group. It’s a dark, cinematic, glassy experience built to stay lean on phones while keeping the stage-light vibe on desktop.
- React + TypeScript
- Vite
- Tailwind CSS
- React Router
- lucide-react
- Home: cross-fading hero, music toggle, upcoming shows, members, press, galleries
- Shows: pulled from the backend show API
- Book seats: UPI-first flow with sold-out handling, validation, and summaries
- Members + guest actors
- Galleries: plays, backstage, workshops
- Support / Feedback forms
- Node.js (LTS)
- npm
npm installVite requires client vars to be prefixed with VITE_.
Create two files (not committed):
.env(local dev).env.production(production builds)
Example (edit with your own endpoints):
VITE_API_BASE_URL=https://your-backend-hostThe UI calls API endpoints relative to VITE_API_BASE_URL, e.g.
GET ${VITE_API_BASE_URL}/api/auditoriumsPOST ${VITE_API_BASE_URL}/api/tickets/issue
npm run devnpm run buildOutputs to dist/.
npm run previewHosting is configured to serve dist/ via firebase.json.
- Build
npm run build- Deploy
firebase deploy --only hosting- Front-end only; bring your own backend endpoints and secrets via env files. Do not commit keys or passwords.
- Gallery/image assets are already optimized to WebP; additional scripts under
scripts/can help re-encode if needed. - For mobile smoothness, prefer the mobile layout (auto-switches via media query helper) and keep heavy effects disabled client-side.