laravel_livewire_shop/laravel-livewire-shop

A complete e-commerce solution for Laravel with Livewire

Installs: 8

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 0

Forks: 0

Open Issues: 0

Language:Blade

pkg:composer/laravel_livewire_shop/laravel-livewire-shop

v0.1.6-beta 2025-06-25 03:25 UTC

This package is auto-updated.

Last update: 2025-12-25 04:36:13 UTC


README

Un plugin complet et prêt à l'emploi pour créer une boutique en ligne moderne avec Laravel et Livewire.

✨ Fonctionnalités Complètes

🛒 Panier & Commandes

  • ✅ Panier dynamique en temps réel
  • ✅ Gestion des quantités
  • ✅ Persistance du panier
  • ✅ Processus de commande complet
  • ✅ Gestion des statuts de commande
  • ✅ Historique des commandes

💰 Système de Prix & Promotions

  • ✅ Codes promo avec conditions
  • ✅ Promotions temporaires
  • ✅ Calcul automatique des taxes
  • ✅ Frais de port configurables
  • ✅ Livraison gratuite conditionnelle

👤 Expérience Client

  • ✅ Liste de souhaits (wishlist)
  • ✅ Avis et notes produits
  • ✅ Recherche avancée avec filtres
  • ✅ Tri par prix, popularité, notes
  • ✅ Notifications en temps réel

📧 Notifications & Emails

  • ✅ Confirmation de commande par email
  • ✅ Mise à jour du statut de commande
  • ✅ Templates d'emails personnalisables
  • ✅ Système d'événements complet

🎛️ Administration

  • ✅ Dashboard complet avec analytics
  • ✅ Gestion des produits
  • ✅ Gestion des commandes
  • ✅ Modération des avis
  • ✅ Gestion des codes promo
  • ✅ Statistiques de vente

🚀 Performance & Sécurité

  • ✅ Cache intelligent
  • ✅ Optimisations de base de données
  • ✅ Policies de sécurité
  • ✅ Validation complète des données
  • ✅ Protection CSRF

📦 Installation Rapide

1. Installation via Composer

composer require laravel_livewire_shop/laravel-livewire-shop:^0.1.6-beta

2. Publication des ressources

php artisan shop:install

Cette commande configure tout automatiquement :

  • ✅ Publie les configurations
  • ✅ Exécute les migrations
  • ✅ Crée des données d'exemple
  • ✅ Configure les routes

Vous pouvez également publier manuellement les ressources :

# Configuration
php artisan vendor:publish --tag=livewire-shop-config

# Vues
php artisan vendor:publish --tag=livewire-shop-views

# Migrations
php artisan vendor:publish --tag=livewire-shop-migrations

3. Publication des vues et des contrôleurs

Pour configurer correctement les contrôleurs et les routes nécessaires :

php artisan shop:publish-views

4. Ajout des routes (automatique)

Le fichier routes/shop.php est créé automatiquement. Ajoutez dans votre RouteServiceProvider :

Route::middleware('web')->group(base_path('routes/shop.php'));

🎯 Utilisation Immédiate

Dans vos vues Blade

{{-- Icône panier avec compteur --}}
<livewire:cart-icon />

{{-- Icône wishlist --}}
<livewire:wishlist-icon />

{{-- Bouton ajouter au panier --}}
<livewire:add-to-cart :product="$product" />

{{-- Bouton wishlist --}}
<livewire:add-to-wishlist :product="$product" />

{{-- Panier complet --}}
<livewire:shop-cart />

{{-- Processus de commande --}}
<livewire:checkout />

{{-- Recherche avancée --}}
<livewire:advanced-search />

{{-- Avis produits --}}
<livewire:product-reviews :product="$product" />

{{-- Code promo --}}
<livewire:coupon-code />

🔧 Résolution des problèmes courants

Erreur dans la vue shop.blade.php

Si vous rencontrez une erreur concernant la variable $products non définie dans la vue shop.blade.php, exécutez :

php artisan shop:publish-views

Cette commande configurera automatiquement les contrôleurs et les routes nécessaires pour faire fonctionner la boutique dans votre application.

Migrations et tables manquantes

Si vous rencontrez des erreurs lors des migrations, comme des tables manquantes ou des colonnes dupliquées, assurez-vous d'utiliser la version ^0.1.1-beta ou supérieure du package qui corrige ces problèmes.

composer require laravel_livewire_shop/laravel-livewire-shop:^0.1.2-beta

Vérification de compatibilité avec Laravel

Le package est compatible avec Laravel 8, 9, 10, 11 et 12. Si vous rencontrez des erreurs de compatibilité, vérifiez votre version de Laravel avec :

php artisan --version

Problèmes de cache

En cas de comportement inattendu, essayez de vider les caches :

php artisan cache:clear
php artisan config:clear
php artisan view:clear

Avec la facade Cart

use LaravelLivewireShop\LaravelLivewireShop\Facades\Cart;

// Ajouter un produit
Cart::add($productId, $quantity, $attributes);

// Obtenir le panier
$items = Cart::getCart();

// Obtenir le total avec détails
$breakdown = Cart::getTotalWithBreakdown();

// Vider le panier
Cart::clear();

Service de commande

use LaravelLivewireShop\LaravelLivewireShop\Services\OrderService;

$orderService = new OrderService();

// Créer une commande
$order = $orderService->createOrder($billingAddress, $shippingAddress, $userId);

// Changer le statut
$orderService->updateOrderStatus($order, 'shipped');

⚙️ Configuration

Fichier de configuration config/livewire-shop.php

return [
    // Devise
    'currency' => [
        'default' => 'EUR',
        'symbol' => '',
        'position' => 'after', // 'before' ou 'after'
    ],
    
    // Taxes
    'tax' => [
        'enabled' => true,
        'rate' => 20, // Pourcentage
        'included' => false,
    ],
    
    // Livraison
    'shipping' => [
        'enabled' => true,
        'free_from' => 50, // Livraison gratuite à partir de
        'default_cost' => 5.00,
    ],
    
    // Panier
    'cart' => [
        'session_key' => 'livewire_shop_cart',
        'auto_destroy' => false,
    ],
];

🗄️ Modèles de Base de Données

Produits (shop_products)

  • Informations de base (nom, description, prix)
  • Prix de vente et promotions
  • Gestion du stock
  • Variantes (couleurs, tailles, etc.)
  • Notes et avis moyens

Commandes (shop_orders)

  • Informations de facturation/livraison
  • Totaux détaillés avec taxes
  • Statuts de commande
  • Codes promo appliqués

Codes Promo (shop_coupons)

  • Types : pourcentage ou montant fixe
  • Conditions d'utilisation
  • Limites d'usage
  • Dates de validité

Avis (shop_reviews)

  • Notes de 1 à 5 étoiles
  • Commentaires clients
  • Système de modération

🎨 Interface Utilisateur

Design Moderne

  • Interface responsive Bootstrap 5
  • Animations CSS fluides
  • Icônes émojis pour une touche fun
  • Design cards élégant

Notifications

  • Toast notifications en temps réel
  • Messages de succès/erreur
  • Animations d'état de chargement

Expérience Mobile

  • Interface 100% responsive
  • Navigation tactile optimisée
  • Performance mobile excellente

📊 Analytics & Rapports

Dashboard Admin

  • Statistiques de vente en temps réel
  • Top des produits vendus
  • Analytics clients
  • Graphiques de performance

Données trackées

  • Vues de produits
  • Abandons de panier
  • Conversion rates
  • Valeur panier moyenne

🔧 Commandes Artisan

# Installation complète
php artisan shop:install

# Créer des produits d'exemple
php artisan shop:create-products

# Optimiser la boutique
php artisan shop:optimize

# Nettoyer le cache
php artisan shop:clear-cache

🎯 Codes Promo d'Exemple

Le plugin installe automatiquement ces codes :

  • BIENVENUE10 - 10% de réduction dès 30€
  • LIVRAISON5 - 5€ de réduction dès 50€
  • FIDELITE20 - 20% de réduction dès 100€

🛡️ Sécurité

  • Validation complète des données
  • Protection contre les injections
  • Gestion des sessions sécurisée
  • Policies d'autorisation
  • Audit trails des commandes

🚀 Performance

  • Cache intelligent des produits populaires
  • Optimisations de base de données
  • Lazy loading des images
  • Compression des assets
  • CDN ready

📚 Structure des Fichiers

src/
├── Components/         # Composants Livewire
├── Models/            # Modèles Eloquent
├── Services/          # Logique métier
├── Http/Controllers/  # Contrôleurs
├── Mail/              # Templates d'emails
├── Events/            # Événements
├── Listeners/         # Listeners d'événements
├── Console/Commands/  # Commandes Artisan
├── Policies/          # Policies de sécurité
└── Traits/           # Traits réutilisables

resources/views/
├── components/        # Vues des composants
├── pages/            # Pages complètes
├── admin/            # Interface admin
├── emails/           # Templates d'emails
└── layouts/          # Layouts de base

🤝 Support & Contribution

Documentation

Support

Roadmap

  • Intégration Stripe/PayPal
  • Multi-langues
  • Multi-boutiques
  • App mobile
  • Marketplace features

📄 Licence

Ce package est open-source sous licence MIT.

Créé avec ❤️ pour la communauté Laravel

Plugin prêt pour la production - Plus de 50 fonctionnalités incluses !