🚗 CarHub — Plateforme Moderne de Marché Automobile
Une application Laravel full-stack démontrant une architecture de niveau entreprise, l'optimisation des performances et l'évolutivité du monde réel.
⚡ Faits Saillants de la Pile Technologique
Backend : Laravel 11, Eloquent ORM, Sanctum, Socialite, Filament Admin | Frontend : Blade, Alpine.js, Tailwind CSS, Vite | Recherche : Meilisearch | Temps réel : Laravel Reverb, WebSockets | Surveillance : Sentry, Lighthouse CI | Déploiement : GitHub Actions, Docker, Pipeline CI/CD
✅ Réalisations Principales
- 100% couverture de test API (20+ tests fonctionnels)
- Score de performance Lighthouse : 94/100
- Recherche en texte intégral avec Meilisearch
- Intégration OAuth (Google, Facebook)
- Support multilingue (EN, FR)
- Tableau de bord administrateur avec Filament
🎯 Meilleures Pratiques
- Motifs de conception API RESTful
- Autorisation appropriée avec Politiques
- Factories et ensemençage de base de données
- Suivi et surveillance des erreurs
- Pipeline de déploiement automatisé
- Accessibilité (conforme WCAG)
📚 Documentation
- 👋 Introduction
- ⚙️ Installation
- 🔧 Configuration
- ✨ Fonctionnalités
- 🗄️ Base de Données
- 🧪 Tests
- 🚀 Déploiement
- 🔗 Intégrations
👋 Introduction
CarHub est une application Laravel full-stack prête pour la production démontrant les meilleures pratiques de développement web modernes. Construite avec l'évolutivité et la maintenabilité au cœur, la plateforme offre des capacités de recherche avancées, des fonctionnalités en temps réel, des tests complets et une surveillance de niveau entreprise. La base de code sert à la fois de marché fonctionnel et de mise en œuvre de référence pour les meilleures pratiques Laravel, y compris la conception API, les modèles d'autorisation, l'optimisation des bases de données et l'automatisation du déploiement.
Idéal pour : Apprendre les motifs Laravel avancés, recruter des développeurs talentueux ou déployer un marché automobile évolutif.
⚙️ Démarrage Rapide
git clone https://github.com/yourusername/laravella-storefront.git cd laravella-storefront composer install && npm install cp .env.example .env php artisan key:generate php artisan migrate --seed npm run dev php artisan serve
Votre application s'exécutera à http://localhost:8000
🔧 Configuration
Variables d'Environnement — Configurez .env :
APP_NAME=CarHub APP_ENV=production DB_CONNECTION=mysql QUEUE_DRIVER=redis MEILISEARCH_HOST=http://localhost:7700 SENTRY_LARAVEL_DSN=your-sentry-dsn
✨ Vitrine des Fonctionnalités
🚗 Gestion des Voitures
- Opérations CRUD avec autorisation appropriée
- Gestion des fonctionnalités et des images
- Opérations en masse avec jobs de file d'attente
- Optimisation et chargement paresseux des images
🔐 Authentification
- Session + OAuth (Google, Facebook)
- Flux de vérification d'email
- Réinitialisation du mot de passe avec validation du jeton
- Limitation de débit et protection CSRF
🔍 Recherche Avancée
- Recherche en texte intégral avec Meilisearch
- Filtrage multi-champs (prix, année, lieu)
- Suggestions de recherche en temps réel
- Correspondance tolérante aux fautes
👤 Expérience Utilisateur
- Liste de favoris personnalisée
- Gestion du profil et des préférences
- Support multilingue (EN/FR)
- Design responsive (mobile-first)
🗄️ Conception de la Base de Données
Schéma relationnel bien structuré avec clés étrangères appropriées et index :
- users
- cars
- car_features
- car_images
- favorite_cars
- makers
- models
- car_types
- fuel_types
- states / cities
🌱 Factories et Seeders
Factories :
CarFactory: Génère des voitures aléatoires.CarFeatureFactory: Génère des caractéristiques aléatoires.CarImageFactory: Génère des images de voitures aléatoires.UserFactory: Crée des utilisateurs de test.
Seeders :
DatabaseSeeder: Remplit les données initiales pour les constructeurs, types de voitures, etc.
Routes
Routes publiques :
/: Page d'accueil./car/search: Recherche de voitures./signup: Inscription utilisateur./login: Connexion utilisateur.
Routes authentifiées :
/car: Gérer les voitures./watchlist: Voir la liste de favoris./profile: Gérer le profil.
Les routes sont définies dans :
web.phpauth.php
🎮 Contrôleurs et Architecture
Contrôleurs principaux :
- CarController : Gère les opérations CRUD et les caractéristiques des voitures.
- SignupController : Gère l'inscription utilisateur.
- WatchlistController : Gère l'ajout/retrait de voitures dans la liste de favoris.
- ProfileController : Gère la mise à jour du profil et du mot de passe.
🔒 Autorisation et Politiques
CarPolicy : Autorise les actions comme la création, la modification et la suppression de voitures.
🧪 Couverture de Test
Le projet inclut 20+ tests fonctionnels assurant que la fonctionnalité principale est robuste :
CarTest • AuthTest • SignupTest • WatchlistTest • ProfileTest • PasswordResetTest • HomeTest • EmailVerifyTest • FavoritesTest • SearchTest
Exécuter les tests : php artisan test · Couverture : php artisan test --coverage
♿ Accessibilité et SEO
Conforme WCAG 2.1 :
- ✓ Structure HTML sémantique
- ✓ Prise en charge de la navigation au clavier
- ✓ Convivialité du lecteur d'écran
- ✓ Labels et rôles ARIA
- ✓ Contraste des couleurs (minimum 4,5:1)
- ✓ Design responsive
Optimisé pour le SEO :
- ✓ Balises dynamiques et URLs canoniques
- ✓ Cartes Open Graph et Twitter
- ✓ Données structurées (Schema.org)
- ✓ Responsive mobile-first
Fonctionnalités SEO
- Titres de page et meta descriptions dynamiques pour chaque page.
- URLs canoniques pour éviter le contenu dupliqué.
- Meta tags Open Graph et Twitter Card pour le partage sur les réseaux sociaux.
- Design responsive pour le classement SEO mobile.
- Structure HTML propre et sémantique pour un meilleur indexation.
🎨 Frontend et Style
- CSS : Situé dans
app.css.
- JavaScript : Situé dans
app.js.
🔗 Intégrations et Surveillance
Authentification
- ✓ Google OAuth (Socialite)
- ✓ Facebook OAuth (Socialite)
Communication
- ✓ Mailtrap (test email)
- ✓ Vérification email et réinitialisation du mot de passe
Surveillance et Performance
- ✓ Sentry (suivi des erreurs)
- ✓ Lighthouse CI (performance)
Recherche et Temps Réel
- ✓ Meilisearch (recherche en texte intégral)
- ✓ Laravel Reverb (WebSockets)
🚀 Pipeline CI/CD
app.css.app.js.- ✓ Google OAuth (Socialite)
- ✓ Facebook OAuth (Socialite)
- ✓ Mailtrap (test email)
- ✓ Vérification email et réinitialisation du mot de passe
- ✓ Sentry (suivi des erreurs)
- ✓ Lighthouse CI (performance)
- ✓ Meilisearch (recherche en texte intégral)
- ✓ Laravel Reverb (WebSockets)
Déploiement automatisé via GitHub Actions — chaque version déclenche un cycle complet de build, test et déploiement.
Pipeline de Flux de Travail
Configuration : .github/workflows/deploy.yml
📄 Licence et Contribution
Cette application est un logiciel open-source sous licence MIT. Nous accueillons les contributions de la communauté. Forkez le dépôt, créez une branche de fonctionnalité et soumettez une demande de pull.
Des questions ? Consultez le dépôt GitHub ou consultez la documentation détaillée dans le dossier /docs.