A modern, extensible e-commerce platform built with Laravel 12, Inertia.js, Vue 3.5, and TypeScript. Vortex provides a complete solution for building online stores with a powerful admin panel, flexible theme system, and modular architecture.
- Product Management: Complete product catalog with variants, attributes, and inventory tracking
- Shopping Cart: Real-time cart with session persistence and guest checkout support
- Multi-Payment Gateway: Support for Stripe, Razorpay, and extensible payment methods
- Order Management: Comprehensive order tracking and management
- Customer Accounts: User registration, authentication, and order history
- Theme System: Flexible theme architecture with easy customization
- Dashboard: Analytics and insights at a glance
- Product Management: Create and manage products, categories, brands, and attributes
- Order Processing: Complete order lifecycle management
- Customer Management: Customer profiles, addresses, and notes
- Settings: Store configuration, payment methods, shipping rates, tax rules
- Email Templates: Customizable transactional email templates
- CMS: Content management for pages and blocks
- Reports: Sales, customer, and inventory reporting
- Modular Architecture: Package-based structure for easy extension
- Multi-Database Support: MySQL and SQLite compatibility
- Modern Frontend: Vue 3 with TypeScript and Tailwind CSS
- Inertia.js: SPA-like experience without API complexity
- Two-Factor Authentication: Enhanced security with 2FA support
- Email Verification: Built-in email verification workflow
- Fortify Integration: Laravel Fortify for authentication
- PHP: 8.2 or higher
- Composer: 2.x
- Node.js: 18.x or higher
- NPM: 9.x or higher
- Database: MySQL 8.0+ or SQLite 3.x
- Extensions: OpenSSL, PDO, Mbstring, Tokenizer, XML, Ctype, JSON, BCMath
git clone https://github.com/yourusername/vortex.git
cd vortexcomposer installnpm installCopy the example environment file and generate an application key:
cp .env.example .env
php artisan key:generate- Create a MySQL database:
CREATE DATABASE vortex CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;- Update your
.envfile:
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=vortex
DB_USERNAME=your_username
DB_PASSWORD=your_password- Create the database file:
touch database/database.sqlite- Update your
.envfile:
DB_CONNECTION=sqlitephp artisan migrate --seedThis will create all necessary tables and seed initial data including:
- Admin user (admin@wontonee.com / password)
- Sample products and categories
- Default settings and configurations
- Payment methods
- Email templates
For development:
npm run devFor production:
npm run buildCreate a symbolic link for storage:
php artisan storage:linkphp artisan serveYour Vortex installation should now be accessible at http://localhost:8000
- URL:
http://localhost:8000/admin/login - Email:
admin@wontonee.com - Password:
password
You can register a new customer account from the frontend or use the seeded test account if available.
Configure your store through the admin panel:
- Navigate to Settings > Store Configuration
- Set your store name, currency, timezone, and other preferences
- Configure payment methods in Settings > Payment Methods
- Set up shipping rates in Settings > Shipping
- Configure tax rules in Settings > Tax Rules
Update your .env file with your email provider settings:
MAIL_MAILER=smtp
MAIL_HOST=your-smtp-host
MAIL_PORT=587
MAIL_USERNAME=your-email
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
MAIL_FROM_ADDRESS=noreply@yourstore.com
MAIL_FROM_NAME="${APP_NAME}"STRIPE_KEY=your_publishable_key
STRIPE_SECRET=your_secret_key
STRIPE_WEBHOOK_SECRET=your_webhook_secretRAZORPAY_KEY=your_key_id
RAZORPAY_SECRET=your_secret_keyEnable payment methods in Settings > Payment Methods in the admin panel.
Vortex includes a comprehensive test suite using Pest PHP:
# Run all tests
./vendor/bin/pest
# Run specific test suite
./vendor/bin/pest tests/Feature
./vendor/bin/pest tests/Unit
# Run with coverage
./vendor/bin/pest --coverageVortex uses a flexible theme system. The default theme is located in themes/vortex-default/.
- Copy the default theme:
cp -r themes/vortex-default themes/your-theme-name- Update theme configuration in
config/theme.php:
'active' => 'your-theme-name',- Customize the theme files:
- Pages:
themes/your-theme-name/resources/views/pages/ - Components:
themes/your-theme-name/resources/views/components/ - Layouts:
themes/your-theme-name/resources/views/layouts/
Vortex is organized into modular packages:
packages/Vortex/
βββ Admin/ # Admin panel functionality
βββ Cart/ # Shopping cart management
βββ CMS/ # Content management
βββ Core/ # Core functionality and utilities
βββ Customer/ # Customer management
βββ Marketing/ # Marketing tools
βββ Product/ # Product management
βββ Reports/ # Reporting and analytics
βββ Sales/ # Order and sales management
βββ Settings/ # System settings
βββ Shop/ # Frontend shop functionality
βββ Stripe/ # Stripe payment integration
βββ Razorpay/ # Razorpay payment integration
βββ System/ # System utilities
Vortex follows PSR-12 coding standards for PHP and ESLint rules for JavaScript/TypeScript.
Run linters:
# PHP
./vendor/bin/phpcs
# JavaScript/TypeScript
npm run lintnpm run devphp artisan optimize:clear- Set
APP_ENV=productionandAPP_DEBUG=falsein.env - Run
composer install --optimize-autoloader --no-dev - Run
npm run build - Run
php artisan config:cache - Run
php artisan route:cache - Run
php artisan view:cache - Set up proper file permissions:
chmod -R 755 storage bootstrap/cache chown -R www-data:www-data storage bootstrap/cache
- Configure your web server (Nginx/Apache)
- Set up SSL certificate
- Configure job queue and scheduler
Vortex uses queues for background jobs. Set up a queue worker:
php artisan queue:workFor production, use Supervisor to manage queue workers.
Add this cron entry to run scheduled tasks:
* * * * * cd /path-to-your-project && php artisan schedule:run >> /dev/null 2>&1We welcome contributions! Please follow these guidelines:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow PSR-12 for PHP code
- Use meaningful variable and method names
- Write tests for new features
- Update documentation as needed
Vortex is open-source software licensed under the MIT license.
Built with:
- Documentation: Coming soon
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Multi-vendor marketplace support
- Advanced inventory management
- Subscription products
- Advanced SEO tools
- Mobile app (React Native)
- Multi-language support (i18n)
- Advanced analytics dashboard
- Integration marketplace
Made with β€οΈ by the Vortex Team