Openfunnels
An open-source funnel builder with drag-and-drop functionality and interactive layout management. Build high-converting funnels with ease using modern, intuitive interface.
Install / Use
/learn @aialvi/OpenfunnelsREADME
OpenFunnels
Homepage
<img width="1511" height="855" alt="image" src="https://github.com/user-attachments/assets/312f379f-c452-428a-b930-8aa41410e4cb" />Editor
<img width="1511" height="856" alt="image" src="https://github.com/user-attachments/assets/8306072d-9686-48ec-acc8-d4c7ea0326a2" />🚧 Work in Progress 🚧
An open-source funnel builder with drag-and-drop functionality and interactive layout management. Build high-converting funnels with ease using our modern, intuitive interface.
🌟 Features
- Drag & Drop Builder: Intuitive visual editor for creating funnels
- Interactive Layout Management: Real-time preview and editing
- Responsive Design: Funnels that look great on all devices
- Multi-step Workflows: Create complex funnel sequences
- Analytics Integration: Track performance and conversions
- Template Library: Pre-built funnel templates to get started quickly
- Custom Components: Extensible component system
- Team Collaboration: Share and collaborate on funnel projects
🚀 Tech Stack
Backend
- Laravel 12: Modern PHP framework
- Inertia.js: SPA experience with server-side routing
- SQLite: Lightweight database for development
- Pest: Testing framework
Frontend
- React: Component-based UI library
- TypeScript: Type-safe JavaScript
- Vite: Fast build tool and development server
- Tailwind CSS: Utility-first CSS framework
📋 Prerequisites
Before getting started, ensure you have the following installed:
- PHP: Version 8.2 or higher
- Composer: PHP dependency manager
- Node.js: Version 18 or higher
- npm/pnpm: Package manager (pnpm recommended)
🛠️ Installation
-
Clone the repository
git clone https://github.com/aialvi/openfunnels.git cd openfunnels -
Install PHP dependencies
composer install -
Install JavaScript dependencies
pnpm install -
Environment setup
cp .env.example .env php artisan key:generate -
Database setup
php artisan migrate php artisan db:seed -
Build assets
pnpm run build
🏃♂️ Development
Start the development servers
-
Laravel development server
php artisan serve -
Vite development server (in a separate terminal)
pnpm run dev -
Access the application
- Open your browser to
http://localhost:8000
- Open your browser to
Running tests
# Run all tests
php artisan test
# Run with coverage
php artisan test --coverage
# Run specific test suite
php artisan test --testsuite=Feature
📁 Project Structure
app/
├── Http/Controllers/ # Application controllers
├── Models/ # Eloquent models
├── Policies/ # Authorization policies
└── Providers/ # Service providers
resources/
├── js/ # React components and TypeScript
│ ├── components/ # Reusable UI components
│ ├── pages/ # Page components
│ └── types/ # TypeScript definitions
└── css/ # Stylesheets
database/
├── migrations/ # Database migrations
└── seeders/ # Database seeders
tests/
├── Feature/ # Feature tests
└── Unit/ # Unit tests
🎯 Roadmap
Phase 1 (Current)
- [x] Project setup and architecture
- [x] Basic Laravel + Inertia.js integration
- [ ] User authentication system
- [ ] Basic funnel CRUD operations
Phase 2
- [ ] Drag and drop funnel builder
- [ ] Component library
- [ ] Template system
- [ ] Real-time preview
Phase 3
- [ ] Analytics and tracking
- [ ] A/B testing capabilities
- [ ] Integration APIs
- [ ] Team collaboration features
🤝 Contributing
We welcome contributions from the community! Here's how you can help:
Getting Started
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Make your changes
- Run tests to ensure everything works
- Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Development Guidelines
- Follow PSR-12 coding standards for PHP
- Use TypeScript for all JavaScript code
- Write tests for new features
- Update documentation as needed
- Follow conventional commit messages
Code Style
# Format PHP code
./vendor/bin/pint
# Format JavaScript/TypeScript
pnpm run lint:fix
📞 Support
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Coming soon
📄 License
This project is open source and available under the MIT License.
🙏 Acknowledgments
- Laravel community for the excellent framework
- React team for the powerful UI library
- All contributors who help make this project better
Status: This project is currently under active development. Core features are being built and refined. Stay tuned for updates!
