A comprehensive, bilingual (English & Bengali) wedding website serving as the digital hub for a multi-day wedding celebration. This modern web application provides guests with event information, RSVP management, photo galleries, live streaming, and more.
- Event Information: Complete wedding schedule with dates, times, and venue details
- Interactive Maps: Google Maps integration for all venues
- RSVP System: Secure token-based RSVP with dietary preferences and guest count
- Photo & Video Galleries: Categorized media albums with guest upload capabilities
- Live Streaming: Real-time streaming for each event with countdown timers
- Travel & Accommodation: Hotel information, shuttle schedules, and airport pickup details
- Local Guide: Travel tips, local customs, dress codes, and emergency contacts
- Multilingual Support: English and Bengali language options
- Contact & Support: Guest contact forms and FAQ section
- Secure Dashboard: Authentication-protected admin panel
- Content Management: Upload, edit, and manage photos/videos with moderation
- RSVP Management: Track and manage guest responses
- Event Management: Add/edit event schedules and venue information
- Guest Management: View guest details, countries, and accommodation info
- Media Moderation: Approve/reject guest-uploaded content
- Fully Responsive: Optimized for desktop, tablet, and mobile devices
- Dark Mode: Optional dark theme toggle
- Social Sharing: Integration with Instagram, Facebook, and other platforms
- Performance Optimized: Fast loading with image optimization
- SEO Friendly: Optimized for search engines
- Frontend: Next.js 15.4.5, React 19.1.0, TypeScript
- Styling: Tailwind CSS 4, Headless UI, Heroicons
- Backend: Next.js API Routes
- Database: MySQL with Prisma ORM
- Authentication: NextAuth.js with JWT tokens
- File Storage: Cloudinary for media management
- Email Service: Resend for notifications
- Forms: React Hook Form with Zod validation
- State Management: Zustand
- Testing: Jest with React Testing Library
- Deployment: GitHub Pages (static) or Hostinger VPS (full-stack)
- Deployment: Automated via GitHub Actions using GitHub-hosted runners (Ubuntu)
- Setup Time: 30 minutes
- Cost: FREE tier (12 months) then ~$13/month
- Features:
- ✅ ALL pages (Home, Events, Gallery, Live, Travel, Contact, RSVP, Admin)
- ✅ Working database (SQLite - stores RSVP submissions, guest data)
- ✅ All API routes (18 endpoints for forms, auth, data management)
- ✅ Admin dashboard with NextAuth authentication
- ✅ Email notifications (RSVP confirmations, contact messages)
- ✅ Image uploads (Cloudinary integration)
- ✅ All images and galleries working perfectly
- ✅ Fully mobile responsive
- ✅ Enterprise reliability (99.95% SLA)
- ✅ Automatic SSL certificate
- ✅ Application Insights monitoring
- ✅ Continuous deployment from GitHub
- Quick Setup: See
QUICK_DEPLOY_AZURE.md(30-minute guide) - Full Guide: See
AZURE_DEPLOYMENT_GUIDE.md(complete documentation) - Build: Uses GitHub-hosted runners (Ubuntu Linux VMs) via GitHub Actions
- Deployment: Automated via GitHub Actions using GitHub-hosted runners (Ubuntu)
- Setup Time: 12 minutes
- Cost: FREE (no credit card required)
- Features:
- ✅ ALL pages (Home, Events, Gallery, Live, Travel, Contact, RSVP, Admin)
- ✅ Working database (SQLite - stores RSVP submissions, guest data)
- ✅ All API routes (18 endpoints for forms, auth, data management)
- ✅ Admin dashboard with NextAuth authentication
- ✅ Email notifications (RSVP confirmations, contact messages)
- ✅ Image uploads (Cloudinary integration)
- ✅ All images and galleries working perfectly
- ✅ Fully mobile responsive
- ✅ Fast loading with global CDN
- ✅ Automatic SSL certificate
- ✅ Continuous deployment from GitHub
- Quick Setup: See
QUICK_DEPLOY_VERCEL.md(12-minute guide) - Full Guide: See
VERCEL_DEPLOYMENT_GUIDE.md(complete documentation) - Build: Uses GitHub-hosted runners (Ubuntu Linux VMs) via GitHub Actions
- URL: https://codestorm-hub.github.io/Sharothee-Wedding-arvinwedsincia/
- Deployment: Automated via GitHub Actions
- Features:
- ✅ All informational pages (Home, Events, Gallery, Live, Travel, Contact, RSVP)
- ✅ Working RSVP form (via Web3Forms - email notifications)
- ✅ Working Contact form (via Web3Forms - email notifications)
- ✅ All images and photo galleries
- ✅ Event schedules with venue information
- ✅ Fully mobile responsive
- ✅ Fast loading (static export)
- Limitations:
- ❌ No admin panel (requires server)
- ❌ No database storage (forms send emails only)
- ❌ No authentication system
- ❌ No API routes
- Quick Setup: See
QUICK_DEPLOY_GITHUB_PAGES.md(5 minutes) - Full Guide: See
GITHUB_ACTIONS_DEPLOYMENT_GUIDE.md
- Features:
- ✅ Everything from Azure/Vercel
- ✅ Uses MySQL instead of SQLite
- ✅ Media uploads with Cloudinary
- ✅ Advanced RSVP management
- Setup Guide: See
HOSTINGER_VPS_DEPLOYMENT_PLAN.md
- Node.js 18+
- npm or yarn
- MySQL database
- Cloudinary account (for media storage)
- Resend account (for emails)
-
Clone the repository
git clone https://github.com/syed-reza98/Sharothee-Wedding.git cd Sharothee-Wedding/client -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env.local
Configure the following variables:
# Database DATABASE_URL="mysql://username:password@localhost:3306/wedding_db" # NextAuth NEXTAUTH_SECRET="your-secret-key" NEXTAUTH_URL="http://localhost:3000" # Cloudinary CLOUDINARY_CLOUD_NAME="your-cloud-name" CLOUDINARY_API_KEY="your-api-key" CLOUDINARY_API_SECRET="your-api-secret" # Resend RESEND_API_KEY="your-resend-api-key"
-
Set up the database
npm run db:migrate npm run db:generate
-
Run the development server
npm run dev
-
Open in browser Navigate to http://localhost:3000
npm run dev- Start development server with Turbopacknpm run build- Build for productionnpm run start- Start production servernpm run lint- Run ESLintnpm run type-check- Run TypeScript type checkingnpm run test- Run Jest testsnpm run test:watch- Run tests in watch modenpm run test:coverage- Run tests with coveragenpm run db:generate- Generate Prisma clientnpm run db:push- Push schema changes to databasenpm run db:migrate- Run database migrationsnpm run db:studio- Open Prisma Studio
-
Server Setup
- Ubuntu 20.04+ VPS
- Node.js 18+ installed
- MySQL database setup
- Nginx as reverse proxy
- SSL certificate (Let's Encrypt)
-
Environment Configuration
# Set production environment variables export NODE_ENV=production export DATABASE_URL="mysql://username:password@hostname:3306/wedding_db" export NEXTAUTH_URL="https://yourdomain.com"
-
Build and Deploy
npm run build npm run start
-
Process Management Use PM2 for process management:
npm install -g pm2 pm2 start npm --name "wedding-website" -- start pm2 startup pm2 save
client/
├── src/
│ ├── app/ # Next.js app directory
│ ├── components/ # React components
│ ├── lib/ # Utility functions
│ ├── types/ # TypeScript type definitions
│ └── styles/ # Global styles
├── prisma/
│ └── schema.prisma # Database schema
├── public/ # Static assets
└── package.json
The website automatically deploys to GitHub Pages via GitHub Actions on every push to main.
- Get Web3Forms API Key (free at https://web3forms.com)
- Add GitHub Secret:
WEB3FORMS_ACCESS_KEYin repository settings - Enable GitHub Pages: Settings → Pages → Source: GitHub Actions
- Push to main: Deployment starts automatically
Live URL: https://codestorm-hub.github.io/Sharothee-Wedding-arvinwedsincia/
- Quick Start:
QUICK_DEPLOY_GITHUB_PAGES.md- 5-minute setup guide - Secrets Setup:
GITHUB_SECRETS_SETUP.md- GitHub Secrets configuration for email - Full Guide:
GITHUB_ACTIONS_DEPLOYMENT_GUIDE.md- Complete documentation - Testing:
TESTING_GUIDE.md- Post-deployment verification checklist
# Static build (excludes API routes and admin pages)
cd client
npm run build:static
# Output is in client/out directory# Run automated verification script
bash scripts/verify-deployment.sh https://codestorm-hub.github.io/Sharothee-Wedding-arvinwedsinciaFor full functionality with API routes, authentication, and database:
# Follow VPS deployment instructions
# See HOSTINGER_VPS_DEPLOYMENT_PLAN.md- 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 questions or support, please contact the development team or create an issue in the repository.