A modern, intuitive website builder with drag-and-drop functionality, empowering users to create professional websites in minutes. Now built with Next.js and Supabase for enhanced performance and scalability.
- Features
- Tech Stack
- Installation
- Environment Setup
- Database Setup
- Usage
- Migration from Vite + Clerk
- Contributing
- License
- Support
- 🖱️ Drag-and-Drop Builder - Intuitive visual editor for seamless website creation
- 🎨 Template Gallery - Choose from 50+ responsive templates tailored for various industries
- 📱 Cross-Device Preview - Real-time simulation across devices
- 🌈 Style Customizer - Extensive support for CSS and theme variables
- 🌍 One-Click Deployment - Publish your site to a custom domain effortlessly
- 🤝 Team Collaboration - Co-edit with your team in real time
- 🕒 Version History - Rollback to any previous version with ease
- 📊 Analytics Integration - Monitor traffic and performance directly from the builder
- 🔒 Supabase Authentication - Secure email/password authentication
- 💾 Real-time Database - PostgreSQL with real-time subscriptions
- 👤 User Profiles - Comprehensive user management
- 🔑 Row Level Security - Database-level security policies
| 💡 Category | 🔧 Technologies |
|---|---|
| Frontend | Next.js 14, React 18, TypeScript, Tailwind CSS |
| Backend | Node.js, Express, Supabase Edge Functions |
| Database | Supabase (PostgreSQL), Real-time subscriptions |
| Authentication | Supabase Auth |
| Deployment | Vercel, Netlify |
| Testing | Jest, Cypress |
- Node.js v18+ installed on your system
- Supabase account and project
- Vercel CLI (optional, for deployment)
-
Clone the repository:
git clone https://github.com/Muneerali199/website-builder.git cd website-builder -
Install dependencies:
npm install
-
Set up environment variables:
cp .env.local.example .env.local
-
Configure Supabase (see Environment Setup below)
-
Run database migrations:
# Apply the migration file in supabase/migrations/ # This can be done through Supabase Dashboard or CLI
-
Start the development server:
npm run dev
Open http://localhost:3000 to access the builder!
Create a .env.local file in the root directory with the following variables:
# Supabase Configuration
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
SUPABASE_SERVICE_ROLE_KEY=your_supabase_service_role_key
# Backend Configuration
NEXT_PUBLIC_BACKEND_URL=https://website-builder-backend-ws9k.onrender.com
# GitHub OAuth (optional)
NEXT_PUBLIC_GITHUB_CLIENT_ID=your_github_client_id
# Google Analytics
NEXT_PUBLIC_GA_ID=G-EQFZKPZ5MB- Go to Supabase Dashboard
- Create a new project or select existing one
- Go to Settings > API
- Copy the Project URL and anon/public key
- For service role key, copy the service_role key (keep this secret!)
- Go to your Supabase project dashboard
- Navigate to SQL Editor
- Copy and paste the content from
supabase/migrations/001_initial_schema.sql - Run the migration
# Install Supabase CLI
npm install -g supabase
# Login to Supabase
supabase login
# Link your project
supabase link --project-ref your-project-ref
# Apply migrations
supabase db pushnpm run devnpm run build
npm startnpm run lintThis version has been migrated from:
- Vite → Next.js 14 (App Router)
- Clerk Authentication → Supabase Authentication
- Local Storage → Supabase Database
- All authentication now uses Supabase Auth
- User data is stored in Supabase database with RLS policies
- Projects and chats are persisted in PostgreSQL
- Improved performance with Next.js SSR/SSG capabilities
- Better SEO with Next.js built-in optimizations
We welcome contributions! To get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/AmazingFeature
- Commit your changes:
git commit -m 'Add AmazingFeature' - Push to your branch:
git push origin feature/AmazingFeature
- Open a Pull Request
- Follow the existing code style
- Add tests for new features
- Update documentation as needed
- Ensure all tests pass before submitting
Distributed under the MIT License. See LICENSE for more information.
For help or feature requests:
- 📧 Email: alimuneerali245@gmail.com
- 🐞 Open an Issue
- 📚 Documentation: Thunder Docs
- Live Demo: thunder-muneer.vercel.app
- Documentation: thunder-docs.vercel.app
- GitHub: github.com/Muneerali199/website-builder
Crafted with ❤️ by Muneer Ali
Powered by Next.js, Supabase, and modern web technologies