NJ Rajat Mahotsav Event Platform
The Shree Swaminarayan Temple in Secaucus needed a platform for their 25th Anniversary celebration to handle event registration, admin workflows, display media content, share event schedules, and keep the community up to date on the latest information. Not just a brochure site, but a productionized product.Overview
This project showcases a modern, full-featured event website built with Next.js 15, React, TypeScript, and various modern web technologies. The platform serves as the digital hub for the Shree Ghanshyam Maharaj Rajat Pratishtha Mahotsav (July 27 - August 2, 2026).Get Started
Set up your local development environment in minutes
Installation Guide
Detailed environment setup and configuration
Key Features
Event Registration
Multi-step registration form with Zod validation and Supabase backend storage
Admin Dashboard
Protected admin portal with Google OAuth authentication for registration management
Interactive Schedule
Dynamic timeline view with mobile and desktop variants showcasing 50+ years of history
Media Galleries
Image carousels and video players with custom controls powered by Cloudflare CDN
Seva Submission
Forms for spiritual and community service contributions
Background Audio System
Auto-playing prayer audio with fade controls and user consent management
Responsive Design
Fully responsive with mobile-first approach using Tailwind CSS 4
Smooth Animations
Scroll animations using Framer Motion, GSAP, and Locomotive Scroll
Tech Stack
Core Technologies
- Next.js 15 - React framework with App Router
- React 18 - UI library with server components
- TypeScript 5 - Type safety and developer experience
- Tailwind CSS 4 - Utility-first styling framework
Backend & Storage
- Supabase - Backend as a service
- PostgreSQL database for event registrations
- Google OAuth authentication
- Row Level Security (RLS) for data protection
- Cloudflare R2 - S3-compatible object storage for static assets
- Cloudflare Images - Image optimization and delivery with responsive variants
- AWS SDK - S3-compatible operations for R2 integration
UI Components
- shadcn/ui - Accessible component library built on Radix UI
- Radix UI - Unstyled, accessible component primitives
- Framer Motion - Production-ready animation library
- GSAP - Professional-grade animation toolkit
- Locomotive Scroll - Smooth scrolling experiences
Forms & Validation
- React Hook Form - Performant form state management
- Zod - TypeScript-first schema validation
- react-phone-number-input - International phone input with validation
- react-day-picker - Flexible date selection
- chrono-node - Natural language date parsing
Project Structure
The project follows atomic design principles for component organization:Architecture Highlights
Global State Management
CDN Asset Management
The platform leverages Cloudflare’s global network for optimal asset delivery:Security Features
The platform implements comprehensive security measures:Google OAuth
Domain-restricted admin access via Supabase Auth
Row Level Security
Database-level access control for registration data
Domain Validation
Admin routes verify user email domains before granting access
Security Headers
X-Frame-Options, X-Content-Type-Options, CSP, and more
Component Organization
The project follows Atomic Design principles for maintainability and scalability:- Atoms (
components/atoms/) - Basic UI elements like loading screens and theme providers - Molecules (
components/molecules/) - Simple combinations like cards, inputs, and pickers - Organisms (
components/organisms/) - Complex sections like navigation, forms, and galleries - Templates (
components/templates/) - Page-level layouts - UI (
components/ui/) - shadcn/ui components (maintained separately for easy updates)
Next Steps
Quickstart
Get your development environment running
Installation
Complete setup with all environment variables
Architecture
Deep dive into the application architecture
API Reference
Explore API endpoints and data schemas
