A modern, high-performance e-commerce platform built with Laravel 11 for merchandise management, order processing, and customer service. Features include advanced inventory management, real-time notifications, AI-powered chatbot support, and comprehensive admin controls.
Laravel IGP is a full-featured e-commerce solution designed for scalability and performance. The platform provides seamless shopping experiences for customers while offering powerful management tools for administrators.
Customer Experience
- ποΈ Product Catalog β Browse products with advanced filtering, sorting, and search
- π Shopping Cart β Real-time cart management with session persistence
- π¦ Order Tracking β Monitor order status from placement to delivery
- β Reviews & Ratings β Verified purchase reviews with photo uploads
- π¬ AI Chatbot β Google Gemini-powered support assistant
- π± Mobile Responsive β Optimized for all devices with lazy loading
- π Notifications β Real-time order updates and status changes
Admin Dashboard
- π Analytics β Sales reports, revenue tracking, and performance metrics
- π¦ Inventory Management β Product variants, stock tracking, low stock alerts
- ποΈ Order Management β Process orders, update status, manage fulfillment
- π₯ User Management β Customer accounts, roles, and permissions
- π¨ Product Editor β Rich product management with Supabase image storage
- π Audit Logs β Complete activity tracking for accountability
- π Security β IP blocking, rate limiting, and session management
Performance Optimizations
- β‘ Query Caching β 5-10 minute TTL for frequently accessed data
- ποΈ Database Indexes β Optimized queries for reviews, products, notifications
- πΌοΈ Image Optimization β Lazy loading with priority hints
- π¦ Smart Cache Invalidation β Automatic cache clearing on updates
- π 95+ Performance Score β Optimized for speed on both admin and customer pages
| Component | Technology |
|---|---|
| Backend | Laravel 11.46.1 (PHP 8.2.12) |
| Database | PostgreSQL 16 (Neon/Supabase) |
| Frontend | Vite 5.0, Alpine.js 3.x, Tailwind CSS 3.4 |
| Storage | Supabase S3-compatible storage |
| Cache | Database driver with query result caching |
| AI Integration | Google Gemini API |
| UI Components | SweetAlert2 11.10.0 |
| Deployment | Docker, Render, CloudFlare CDN |
Before installation, ensure you have:
- PHP 8.2 or higher
- Extensions:
pdo,pdo_pgsql,mbstring,openssl,zlib,curl,xml
- Extensions:
- Composer 2.x
- Node.js 18+ and npm
- PostgreSQL 14+ (or Supabase/Neon cloud database)
- Git for version control
- Docker (optional, for containerized deployment)
git clone https://github.com/your-username/laravel_igp.git
cd laravel_igp# Install PHP dependencies
composer install
# Install Node.js dependencies
npm install# Copy environment file
cp .env.example .env
# Generate application key
php artisan key:generateEdit .env with your database and service credentials:
# Application
APP_NAME="Laravel IGP"
APP_ENV=production
APP_KEY=base64:your-generated-key
APP_DEBUG=false
APP_URL=https://your-domain.com
# Database (PostgreSQL)
DB_CONNECTION=pgsql
DB_HOST=your-database-host.neon.tech
DB_PORT=5432
DB_DATABASE=your_database_name
DB_USERNAME=your_username
DB_PASSWORD=your_password
# Supabase Storage
AWS_ACCESS_KEY_ID=your_supabase_access_key
AWS_SECRET_ACCESS_KEY=your_supabase_secret_key
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=products
AWS_ENDPOINT=https://your-project.supabase.co/storage/v1/s3
AWS_URL=https://your-project.supabase.co/storage/v1/object/public/products
# Google Gemini AI
GEMINI_API_KEY=your_gemini_api_key
GEMINI_MODEL=gemini-3-flash-preview
# Cache & Session
CACHE_STORE=database
SESSION_DRIVER=database
QUEUE_CONNECTION=database# Run migrations
php artisan migrate --force
# (Optional) Seed sample data
php artisan db:seed# Development
npm run dev
# Production
npm run build# Create storage symlink
php artisan storage:link
# Set proper permissions (Linux/Mac)
chmod -R 775 storage bootstrap/cache# Start PHP server
php artisan serve --host=0.0.0.0 --port=8000
# In another terminal, start Vite
npm run devVisit http://localhost:8000 to access the application.
# Build the image
docker build -t laravel-igp .
# Run the container
docker run -d \
-p 8000:8000 \
--env-file .env \
--name laravel-igp \
laravel-igp
# Run migrations
docker exec laravel-igp php artisan migrate --forceversion: '3.8'
services:
app:
build: .
ports:
- "8000:8000"
env_file:
- .env
volumes:
- ./storage:/var/www/html/storage
depends_on:
- postgres
postgres:
image: postgres:16
environment:
POSTGRES_DB: laravel_igp
POSTGRES_USER: laravel
POSTGRES_PASSWORD: secret
volumes:
- postgres_data:/var/lib/postgresql/data
volumes:
postgres_data:Run with: docker-compose up -d
- Create New Web Service on Render dashboard
- Connect GitHub repository
- Configure Build Settings:
- Build Command:
composer install && npm install && npm run build - Start Command:
php artisan serve --host=0.0.0.0 --port=${PORT}
- Build Command:
- Add Environment Variables (copy from
.env) - Deploy!
# SSH into production server
render shell
# Run migrations
php artisan migrate --force
# Clear caches
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear
# Optimize for production
php artisan config:cache
php artisan route:cache
php artisan view:cacheThe application uses database caching for optimal performance:
- Shop Listings: 5-minute TTL
- Product Details: On-demand with smart invalidation
- Featured Products: 10-minute TTL
- Related Products: 10-minute TTL
Cache is automatically cleared when:
- Products are created/updated/deleted
- Orders are placed
- Inventory is adjusted
The following database indexes are created for optimal query performance:
-- Reviews
CREATE INDEX reviews_product_rating_idx ON reviews (product_id, rating);
CREATE INDEX reviews_user_product_idx ON reviews (user_id, product_id);
-- Products
CREATE INDEX products_name_idx ON products (name);
CREATE INDEX products_badge_idx ON products (badge_text);
-- Notifications
CREATE INDEX notifications_user_created_idx ON notifications (user_id, created_at);# Rate Limiting
RATE_LIMIT_PER_MINUTE=60
# Session Security
SESSION_SECURE_COOKIE=true
SESSION_SAME_SITE=lax
SESSION_LIFETIME=120
# Debug Mode (NEVER enable in production)
APP_DEBUG=false# Clear all caches
php artisan optimize:clear
# View routes
php artisan route:list
# Generate IDE helper (for autocomplete)
php artisan ide-helper:generate
# Run queue worker
php artisan queue:work
# Monitor logs
tail -f storage/logs/laravel.log# Run tests
php artisan test
# Code formatting (if configured)
./vendor/bin/pint
# Static analysis (if configured)
./vendor/bin/phpstan analyse# Create feature branch
git checkout -b feature/your-feature-name
# Make changes and commit
git add .
git commit -m "Description of changes"
# Push to GitHub
git push origin feature/your-feature-name
# Create Pull Request on GitHublaravel_igp/
βββ app/
β βββ Console/ # Artisan commands
β βββ Http/
β β βββ Controllers/ # Request handlers
β β βββ Middleware/ # HTTP middleware
β β βββ Requests/ # Form requests
β βββ Models/ # Eloquent models
β βββ Services/ # Business logic
β βββ Traits/ # Reusable traits
βββ config/ # Configuration files
βββ database/
β βββ migrations/ # Database migrations
β βββ seeders/ # Database seeders
β βββ factories/ # Model factories
βββ public/ # Public assets
β βββ css/
β βββ js/
β βββ images/
βββ resources/
β βββ css/ # Source CSS (Tailwind)
β βββ js/ # Source JavaScript
β βββ views/ # Blade templates
βββ routes/
β βββ web.php # Web routes
β βββ api.php # API routes
β βββ console.php # Console routes
βββ storage/ # Generated files
β βββ app/
β βββ framework/
β βββ logs/
βββ tests/ # Test files
βββ .env.example # Environment template
βββ composer.json # PHP dependencies
βββ package.json # Node dependencies
βββ Dockerfile # Docker configuration
βββ README.md # This file
GET /shop # Product listing with filters
GET /shop/product/{slug} # Product details
POST /cart/add # Add to cart
GET /cart # View cartPOST /checkout # Place order
GET /orders # User orders
GET /orders/{id} # Order detailsPOST /reviews # Submit review
GET /products/{id}/reviews # Product reviewsGET /admin/dashboard # Admin dashboard
GET /admin/inventory # Product management
GET /admin/orders # Order management
GET /admin/users # User management
GET /admin/analytics # Sales analyticsIssue: "Class not found" error
composer dump-autoload
php artisan clear-compiledIssue: "Permission denied" on storage
chmod -R 775 storage bootstrap/cache
chown -R www-data:www-data storage bootstrap/cacheIssue: "SQLSTATE connection refused"
- Verify database credentials in
.env - Check if PostgreSQL is running
- Confirm firewall rules allow connection
Issue: Images not uploading
- Verify Supabase credentials in
.env - Check bucket permissions (public access)
- Confirm storage disk configuration in
config/filesystems.php
Issue: Cache not clearing
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear| Page Type | Load Time | Database Queries | Performance Score |
|---|---|---|---|
| Homepage | <1s | 2-3 (cached) | 95+ |
| Shop Listing | <1s | 1-2 (cached) | 95+ |
| Product Detail | <1.5s | 3-4 | 90+ |
| Admin Dashboard | <2s | 5-8 | 95+ |
# Enable query logging
DB_LOG_QUERIES=true
# View slow queries
php artisan telescope:install # OptionalWe 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 amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow PSR-12 coding standards
- Write descriptive commit messages
- Add tests for new features
- Update documentation as needed
- Keep PRs focused and atomic
This project is licensed under the MIT License - see the LICENSE file for details.
Developed by: Laravel IGP Team
Contact: support@laravel-igp.com
- Laravel - The PHP Framework
- Tailwind CSS - Utility-first CSS
- Alpine.js - Lightweight JavaScript framework
- Vite - Next generation frontend tooling
- Google Gemini - AI integration
- Supabase - Open source Firebase alternative
For support and questions:
- π Issues: GitHub Issues
- π Documentation: Project Wiki
- Multi-language support
- PayPal/Stripe payment gateway integration
- Advanced analytics dashboard
- Email marketing integration
- Mobile app (React Native)
- Wishlist functionality
- Product recommendations engine
- Live chat support
β If you find this project useful, please consider giving it a star on GitHub!
Last Updated: January 21, 2026