🚧 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.
- 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
- Laravel 12: Modern PHP framework
- Inertia.js: SPA experience with server-side routing
- SQLite: Lightweight database for development
- Pest: Testing framework
- React: Component-based UI library
- TypeScript: Type-safe JavaScript
- Vite: Fast build tool and development server
- Tailwind CSS: Utility-first CSS framework
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)
-
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
-
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
# Run all tests
php artisan test
# Run with coverage
php artisan test --coverage
# Run specific test suite
php artisan test --testsuite=Featureapp/
├── 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
- Project setup and architecture
- Basic Laravel + Inertia.js integration
- User authentication system
- Basic funnel CRUD operations
- Drag and drop funnel builder
- Component library
- Template system
- Real-time preview
- Analytics and tracking
- A/B testing capabilities
- Integration APIs
- Team collaboration features
We welcome contributions from the community! Here's how you can help:
- 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
- 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
# Format PHP code
./vendor/bin/pint
# Format JavaScript/TypeScript
pnpm run lint:fix- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Documentation: Coming soon
This project is open source and available under the MIT License.
- 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!