Demo page: https://e-comm.mk
- 🚀 Features
- 🆕 Recent Enhancements
- 📸 Screenshots
- 🚀 Installation & Setup
- 🐳 Docker Setup
- 🛠️ Management Commands
- 🏢 Multi-Tenant Functionality
- 🤖 OpenAI Integration
- 📚 Documentation & Guides
- 🎯 Getting Started
- 🤝 Contributing
- 📄 License
- Responsive Layout with modern UI/UX design
- Advanced Search with Elasticsearch integration
- Shopping Cart & Wishlist with real-time updates
- Product Reviews & Ratings system
- Coupons & Discounts management
- Product Attributes: cost price, promotion price, stock, size, variants
- Blog System: categories, tags, content management
- Module/Extension System: Shipping, payment, discount modules
- Media Manager: banner, images, file uploads
- Bundles Module for product grouping
- Advanced SEO Support:
- Dynamic meta tags and Open Graph
- Structured data (Schema.org)
- XML sitemaps generation
- SEO-friendly URLs
- Performance optimization
- Email Marketing Integration:
- Newsletter campaigns with segmentation
- Abandoned cart email sequences (3-email automation)
- Email analytics tracking (opens, clicks, bounces)
- Automated email processing
- Contact Forms with real-time notifications (Laravel Pusher)
- AI-Powered Recommendations system
- Advanced Product Search with filters
- Social Media Integration:
- Laravel Socialite (Facebook, Google, Twitter)
- Social login and sharing
- Social media product sharing
- Payment Integration: PayPal, Stripe, Casys
- Multi-level Comment System
- User Behavior Tracking and analytics
- Performance Monitoring and optimization
- Advanced Analytics Dashboard:
- Interactive charts and graphs (Chart.js)
- Sales reports and revenue tracking
- User behavior analytics
- Real-time performance monitoring
- Export functionality for reports
- User & Role Management:
- Admin roles and permissions
- User management with advanced filtering
- Role-based access control
- User impersonation
- Product Management:
- Comprehensive product manager
- Product attributes and variants
- Product reviews and ratings
- Product clicks and impressions tracking
- AI-powered product descriptions
- Content Management:
- Media manager using Unisharp Laravel File Manager
- Banner manager with click and impression tracking
- Blog, Category & Tag management
- SEO content optimization
- Order Management:
- Complete order lifecycle management
- Order statuses: Complete, Pending, Processing, On hold, Cancelled, Refunded, Failed
- PDF order generation
- Order analytics and reporting
- Marketing Tools:
- Email marketing campaigns
- Newsletter management with segmentation
- Abandoned cart email automation
- Coupon and discount management
- Email analytics dashboard
- System Configuration:
- Email settings and SMTP configuration
- Shop information management
- Maintenance mode settings
- SEO configuration
- Performance optimization settings
- Advanced Features:
- Real-time messaging and notifications
- Translation manager
- Activity logging and audit trails
- IP blocking and security management
- Profile settings and preferences
- Multi-tenant support
- Order Management: Track orders, view order history, download invoices
- Review & Rating Management: Manage product reviews and ratings
- Comment Management: Moderate and manage comments
- Profile Settings: Update personal information and preferences
- Wishlist Management: Save and organize favorite products
- Address Book: Manage shipping and billing addresses
- Account Security: Password management and security settings
- Security Features:
- Google 2FA (Two-Factor Authentication)
- Role-based access control
- IP blocking and security management
- Activity logging and audit trails
- Secure password policies
- Performance Optimization:
- Redis caching for improved performance
- Database query optimization
- Image optimization and lazy loading
- CDN support for static assets
- Gzip compression
- Browser caching headers
- OpenAI Integration:
- AI-powered product description generation
- Automated content creation
- Smart product recommendations
- Natural language processing for search
- Email Automation:
- Abandoned cart email sequences
- Welcome email automation
- Newsletter campaign automation
- Behavioral trigger emails
- Analytics & Insights:
- User behavior tracking
- Conversion funnel analysis
- A/B testing capabilities
- Performance monitoring
- Abandoned Cart Recovery: 3-email sequence automation to recover lost sales
- Email Analytics: Track opens, clicks, bounces, and unsubscribes
- Newsletter Segmentation: Advanced targeting and personalization
- Automated Email Processing: Console commands for scheduled email campaigns
- Dynamic SEO: Auto-generated meta tags, Open Graph, and Twitter Cards
- Structured Data: Schema.org markup for better search engine understanding
- XML Sitemaps: Automated generation for products, categories, brands, and posts
- Performance Middleware: Runtime optimizations for faster page loads
- SEO Configuration: Centralized SEO settings and management
- Advanced Analytics Dashboard: Interactive charts with Chart.js integration
- User Behavior Tracking: Page views, clicks, scrolls, and form interactions
- Real-time Analytics: Live data updates and performance monitoring
- Export Functionality: Download reports in various formats
- Conversion Funnels: Track user journey and optimize conversion rates
- 100% Test Coverage: All unit tests passing with comprehensive test suite
- Code Quality: Enhanced error handling, validation, and documentation
- Database Optimization: Improved migrations with proper indexing
- Service Architecture: Better separation of concerns and modularity
- Performance Monitoring: Real-time performance tracking and optimization
- Clone the repository and navigate to the project directory
- Install dependencies:
composer install
- Environment setup: Copy
.env.example
to.env
- Generate application key:
php artisan key:generate
- Database configuration: Set your database credentials in
.env
- Payment setup: Configure Braintree credentials for PayPal integration
- Run migrations:
php artisan migrate:fresh --seed
- Install frontend dependencies:
npm install && npm run watch
- Create storage link:
php artisan storage:link
- Configure application: Remove
APP_URL
from.env
file - Start the server:
php artisan serve
or use virtual host - Access the application: Visit
localhost:8000
in your browser
- Admin Panel:
/admin
- Email:
superadmin@mail.com
- Password:
password
- Email:
- User Account:
- Email:
client@mail.com
- Password:
password
- Email:
# Configure email settings in .env
MAIL_MAILER=smtp
MAIL_HOST=your-smtp-host
MAIL_PORT=587
MAIL_USERNAME=your-email
MAIL_PASSWORD=your-password
MAIL_ENCRYPTION=tls
# Run abandoned cart email processing
php artisan cart:process-abandoned-emails
# Generate XML sitemaps
php artisan seo:generate-sitemap
# Configure SEO settings in config/seo.php
# Enable user behavior tracking
# Analytics dashboard available at /admin/analytics
- Docker and Docker Compose installed on your system
- Start containers:
docker-compose up -d
- Install Laravel packages:
docker exec e_comm_app composer install
- Configure environment: Update
.env
file:DB_HOST=mysql DB_DATABASE=homestead DB_USERNAME=homestead DB_PASSWORD=secret
- Run migrations:
docker exec e_comm_app php artisan migrate:fresh --seed
- Create storage link:
docker exec e_comm_app php artisan storage:link
- Access the application:
- Frontend: http://localhost:90
- Admin Panel: http://localhost:90/admin
- API: http://localhost:90/api/v1
- App container:
docker exec -it e_comm_app sh
- Database:
docker exec -it e_comm_mysql mysql -u homestead -p
- Redis:
docker exec -it e_comm_redis redis-cli
- Nginx (Web): 90 → 80
- MySQL: 3311 → 3306
- Redis: 6379 → 6379
- Elasticsearch: 9200 → 9200
- Create user:
php artisan user:create
- Process abandoned cart emails:
php artisan cart:process-abandoned-emails
- Send newsletter campaigns:
php artisan newsletter:send
- Generate XML sitemaps:
php artisan seo:generate-sitemap
- Clear application cache:
php artisan cache:clear
- Optimize application:
php artisan optimize
- Generate analytics reports:
php artisan analytics:generate-reports
- Export user behavior data:
php artisan analytics:export-behavior
- Run database migrations:
php artisan migrate
- Seed database:
php artisan db:seed
- Clear and rebuild cache:
php artisan cache:clear && php artisan config:cache
This Laravel ecommerce application includes comprehensive multi-tenancy support, allowing you to run multiple independent instances of the application with separate databases for each tenant.
- Database Isolation: Each tenant has its own database
- Domain-based Tenant Detection: Automatic tenant switching based on domain
- Queue Awareness: Jobs are tenant-aware and execute in the correct context
- Session Isolation: Optional tenant-specific session handling
- Admin Management: Full CRUD operations for tenant management
- Command Line Tools: Easy tenant creation and migration management
-
Enable Multi-Tenancy:
Update your
.env
file to enable multi-tenancy:MULTI_TENANT_ENABLED=true TENANT_MAIN_DOMAIN=yourdomain.com TENANT_OWNER_CONNECTION=owner TENANT_DEFAULT_CONNECTION=tenant
-
Database Configuration:
Add owner database connection to your
config/database.php
:'connections' => [ 'owner' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('OWNER_DB_DATABASE', 'owner_db'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', ], 'tenant' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', '127.0.0.1'), 'port' => env('DB_PORT', '3306'), 'database' => env('TENANT_DB_DATABASE', 'tenant_db'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8mb4', 'collation' => 'utf8mb4_unicode_ci', ], ],
-
Initialize Multi-Tenant Database:
php artisan tenants:init
-
Create a New Tenant:
php artisan tenants:create
You'll be prompted for:
- Tenant name
- Domain (e.g.,
tenant1.yourdomain.com
) - Database name (e.g.,
tenant1_db
)
-
Migrate Tenant Databases:
# Migrate all tenants php artisan tenants:migrate # Migrate specific tenant php artisan tenants:migrate 1 # Fresh migration with seeding php artisan tenants:migrate --fresh --seed
Access tenant management through the admin panel at /admin/tenants
(requires admin role):
- View Tenants: List all tenants with their domains and databases
- Create Tenant: Add new tenants through the web interface
- Edit Tenant: Update tenant information
- Delete Tenant: Remove tenants (with proper cleanup)
The application automatically detects tenants based on the incoming domain:
tenant1.yourdomain.com
→ Tenant 1 databasetenant2.yourdomain.com
→ Tenant 2 databaseyourdomain.com
→ Main application
- Admin-only Access: Only users with admin/super-admin roles can manage tenants
- Database Isolation: Complete separation of tenant data
- Session Isolation: Optional tenant-specific sessions
- Queue Isolation: Jobs run in the correct tenant context
Run the tenant-specific tests:
# Run all tenant tests
php artisan test tests/Feature/Tenant/
# Run specific tenant test
php artisan test tests/Feature/Tenant/TenantModelTest.php
- Tenant Not Found: Ensure the domain is registered in the tenants table
- Database Connection Issues: Verify tenant database exists and is accessible
- Permission Denied: Ensure you have admin role for tenant management
- Migration Issues: Check that tenant databases are properly configured
The tenant system supports extensive configuration through config/tenant.php
:
- Cache isolation
- Session isolation
- Storage isolation
- Security settings
- Middleware configuration
To enable and configure the OpenAI functionality in your application, follow these steps:
-
Add OpenAI Configuration:
Update your
.env
file to include the OpenAI configuration:OPENAI_API_KEY=YOUR_API_KEY ENABLE_OPENAI=true
Generate description button will SHOW in product CRUD page.
- SEO Optimization Guide:
SEO_OPTIMIZATION_GUIDE.md
- Complete guide for SEO features - Analytics Dashboard Guide:
ANALYTICS_DASHBOARD_GUIDE.md
- Analytics setup and usage - Performance Optimization:
PERFORMANCE_OPTIMIZATION.md
- Performance tuning guidelines
- Analytics API:
/api/v1/admin/analytics/*
- Analytics data endpoints - Email Marketing API:
/api/v1/newsletter/*
- Newsletter and email management - User Behavior API:
/api/v1/admin/analytics/behavior/*
- User tracking endpoints
- ✅ Email Marketing: Complete abandoned cart recovery and newsletter system
- ✅ SEO Optimization: Dynamic meta tags, structured data, and XML sitemaps
- ✅ Analytics Dashboard: Real-time analytics with interactive charts
- ✅ User Behavior Tracking: Comprehensive user interaction monitoring
- ✅ Performance Optimization: Caching, compression, and optimization middleware
- ✅ Test Coverage: 100% passing test suite with comprehensive coverage
- Follow the installation steps above
- Configure your email settings for marketing features
- Set up SEO configuration in
config/seo.php
- Access the analytics dashboard at
/admin/analytics
- Run the console commands to set up automated features
We welcome contributions! Please feel free to submit issues and enhancement requests.
This project is open-sourced software licensed under the MIT license.
🚀 **Advanced E-commerce Platform** - Built with Laravel 12
Thank You so much for your time !!!