A modern, mobile-first events platform built with Next.js 15, featuring secure payments, instant QR codes, and comprehensive admin management.
ReelHaus is a premium club events portal that provides a seamless experience for event discovery, registration, and management. Built with the latest web technologies, it features a stunning Lightning Red theme, fast navigation, and production-ready architecture.
- Lightning Red Theme: Beautiful red color scheme with gradient effects
- Mobile-First Design: Fully responsive across all devices
- Glass Morphism: Modern glass effects and animations
- Fast Navigation: Quick access navigation bar with smooth scrolling
- Loading States: Professional skeleton loaders and progress indicators
- Event Discovery: Browse and filter events by category
- Event Details: Comprehensive event information with lineup and reviews
- Registration System: Multi-step registration with dynamic attendee collection
- Seat Management: Real-time seat availability tracking
- Event Categories: Organized by music genres and event types
- Razorpay Integration: Secure payment processing
- Multiple Payment Methods: Credit cards, debit cards, UPI, net banking
- Payment Security: SSL encryption and PCI compliance
- Instant Confirmation: Real-time payment verification
- Receipt Generation: Automated payment receipts
- Secure Authentication: ENV-based admin login with JWT tokens
- Event Management: CRUD operations for events
- Registration Management: View and manage event registrations
- Analytics Dashboard: Statistics and insights
- Export Functionality: Excel export for registrations
- Audit Logging: Complete admin action tracking
- QR Code Generation: Automated QR codes with HMAC signatures
- Email Automation: Professional email templates with SendGrid
- Excel Export: Automated report generation
- Queue Management: Redis-based job processing with BullMQ
- Error Handling: Comprehensive error handling and retry logic
- Next.js 15: React framework with App Router
- TypeScript: Type-safe development
- Tailwind CSS: Utility-first styling
- Radix UI: Accessible component primitives
- Lucide React: Beautiful icons
- Supabase: Database, storage, and authentication
- Razorpay: Payment processing
- Redis + BullMQ: Background job processing
- SendGrid: Email delivery service
- JWT: Secure authentication tokens
- PostgreSQL: Primary database via Supabase
- Row Level Security: Secure data access
- Real-time Subscriptions: Live data updates
- Storage: File storage for images and documents
reelhaus/
βββ app/ # Next.js App Router
β βββ about/ # About Us page
β βββ admin/ # Admin dashboard
β βββ api/ # API routes
β βββ events/ # Event pages
β βββ team/ # Team page
β βββ join/ # Join Us page
β βββ blog/ # Blog pages
βββ components/ # Reusable components
β βββ ui/ # UI components
β βββ site-header.tsx # Navigation header
β βββ hero.tsx # Hero section
β βββ pricing.tsx # Events showcase
β βββ quick-navigation.tsx # Fast navigation
βββ lib/ # Utility libraries
β βββ supabase.ts # Database client
β βββ admin-auth.ts # Admin authentication
β βββ workers.ts # Background workers
βββ supabase/ # Database migrations
β βββ migrations/ # SQL migration files
βββ public/ # Static assets
- Node.js 18+
- pnpm (recommended) or npm
- Supabase account
- Razorpay account
- Redis instance
- SendGrid account
git clone https://github.com/yourusername/reelhaus.git
cd reelhauspnpm installCreate a .env.local file with the following variables:
# Supabase Configuration
SUPABASE_URL=your_supabase_url_here
SUPABASE_ANON_KEY=your_supabase_anon_key_here
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key_here
# Admin Authentication
ADMIN_USERNAME=admin
ADMIN_PASSWORD=your_secure_admin_password_here
# Razorpay Configuration
RAZORPAY_KEY_ID=your_razorpay_key_id_here
RAZORPAY_KEY_SECRET=your_razorpay_key_secret_here
RAZORPAY_WEBHOOK_SECRET=your_razorpay_webhook_secret_here
# QR Code Security
QR_HMAC_SECRET=your_qr_hmac_secret_here
# Email Service (SendGrid)
SENDGRID_API_KEY=your_sendgrid_api_key_here
# Redis Configuration
REDIS_URL=redis://localhost:6379
# JWT Secret
JWT_SECRET=your_jwt_secret_here
# Environment
NODE_ENV=developmentRun the SQL migrations in your Supabase project:
-- Run the contents of supabase/migrations/001_initial_schema.sql
-- This will create all necessary tables, indexes, and RLS policiespnpm devVisit http://localhost:3000 to see the application.
The application uses a Lightning Red theme with the following color palette:
- Primary Red:
#DC2626 - Red Gradients:
from-red-500 to-red-600 - Accent Colors: Various red shades for different UI elements
- Background: Black with subtle gradients
To customize colors, update the CSS variables in app/globals.css.
- Home: Event showcase with hero section
- About Us: Company mission, values, and story
- Team: Team member profiles and culture
- Join Us: Membership application and careers
- Blog: Articles and updates
- Events: Event listing with filtering
- Event Details: Comprehensive event information
- Registration: Multi-step registration form
- Payment: Secure payment processing
- Payment Success: Confirmation with QR codes
- Admin Login: Secure authentication
- Admin Dashboard: Statistics and management
- Event Management: CRUD operations
- Registration Management: View and export data
GET /api/events- List active eventsGET /api/events/:id- Get event detailsPOST /api/events/:id/register- Create registration
POST /api/admin/login- Admin authenticationGET /api/admin/events- List all eventsPOST /api/admin/events- Create eventPUT /api/admin/events/:id- Update eventDELETE /api/admin/events/:id- Delete eventGET /api/admin/events/:id/registrations- Get registrations
POST /api/webhooks/razorpay- Payment webhook
- Connect your GitHub repository to Vercel
- Set environment variables in Vercel dashboard
- Deploy automatically on push to main branch
Ensure all environment variables are set in your deployment platform:
- Supabase credentials
- Razorpay keys
- Admin credentials
- JWT secret
- Redis URL
- SendGrid API key
Run the SQL migrations in your production Supabase instance.
# Run tests (when implemented)
pnpm test
# Run linting
pnpm lint
# Type checking
pnpm type-check- Image Optimization: Lazy loading and WebP support
- Caching: Strategic caching for static assets and API responses
- Fast Navigation: Quick access navigation components
- Loading States: Skeleton loaders and progress indicators
- Middleware: Performance headers and optimization
- Row Level Security: Database-level access control
- JWT Authentication: Secure admin authentication
- HMAC Signatures: Secure QR code generation
- Input Validation: Zod schema validation
- CORS Protection: Proper CORS configuration
- Rate Limiting: API rate limiting (recommended)
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email support@reelhaus.com or create an issue in this repository.
- Next.js for the amazing React framework
- Supabase for the backend infrastructure
- Tailwind CSS for the styling system
- Razorpay for payment processing
- Radix UI for accessible components
Built with β€οΈ for the ReelHaus community