car-hub.xyz

Une Plateforme de Marché Automobile Moderne et Prête pour la Production

Vue d'ensemble du Projet Cette documentation présente l'architecture, les fonctionnalités et la configuration de car-hub.xyz. Une démonstration d'excellence en développement full-stack utilisant Laravel 11, React et des pratiques de niveau entreprise.

Introduction

Bienvenue sur car-hub.xyz. Il s'agit d'une plateforme de marché automobile sophistiquée et prête pour la production, construite avec des technologies web modernes. Nous démontrons l'excellence du développement full-stack en intégrant des fonctionnalités robustes, des capacités en temps réel et une optimisation exceptionnelle des performances.

Points Clés

🚀
Haute Performance

Optimisé avec les files d'attente Laravel Horizon, le cache Redis et Lighthouse CI pour des scores de performance supérieurs à 95.

🔍
Recherche Temps Réel

Propulsé par Meilisearch pour des recherches de voitures ultra-rapides avec filtres et agrégations avancés.

📱
Compatible PWA

Progressive Web App avec support hors-ligne et expérience optimisée pour mobile.

💳
Intégration Paiement

Paiements sécurisés Stripe avec gestion des webhooks et suivi des transactions.

🌍
Fonctions Temps Réel

Notifications en direct via WebSocket propulsées par Laravel Reverb.

📊
Analytique Avancée

Suivi des erreurs intégré avec Sentry et monitoring via Laravel Pulse.

Stack Technique

Laravel 11 API GraphQL React + Inertia TailwindCSS PostgreSQL Redis Meilisearch Docker GitHub Actions API Stripe

Fonctionnalités

Gestion des Voitures

  • Opérations CRUD complètes pour les annonces de voitures
  • Téléchargement multi-images avec optimisation
  • Recherche avancée avec intégration Meilisearch
  • Filtrage dynamique par marque, modèle, année, prix, localisation, etc.
  • Mises à jour de l'inventaire en temps réel

Utilisateurs & Authentification

  • Authentification sécurisée par session avec Laravel Fortify
  • Intégration OAuth 2.0 (Google, Facebook)
  • Vérification email & réinitialisation de mot de passe
  • Contrôle d'accès basé sur les rôles (RBAC)
  • Panneau d'administration via Filament

Favoris & Liste de Souhaits

  • Ajouter/retirer des voitures de la liste de souhaits personnelle
  • Synchronisation de la liste de souhaits en temps réel
  • Favoris persistants sur tous les appareils

Architecture

Structure de la Base de Données

Conception de base de données de niveau entreprise avec relations et indexation appropriées :

  • users : Comptes utilisateurs avec rôles et permissions
  • cars : Annonces de voitures avec spécifications détaillées
  • car_features : Caractéristiques dynamiques (ABS, GPS, etc.)
  • car_images : Stockage d'images optimisé avec intégration CDN
  • favorite_cars : Listes de souhaits utilisateurs
  • makers : Constructeurs automobiles
  • models : Modèles de voitures avec relations

Architecture API

  • API REST : API RESTful complète avec authentification Sanctum
  • GraphQL : API GraphQL moderne avec documentation auto-générée (Scramble)
  • Temps Réel : Support WebSocket via Laravel Reverb

Installation & Configuration

Prérequis

  • PHP 8.2+
  • Composer
  • Node.js 18+
  • PostgreSQL/MySQL
  • Redis (optionnel, pour les files d'attente)

Démarrage Rapide

# Cloner le dépôt
git clone https://github.com/votreusername/car-hub.git
cd car-hub

# Installer les dépendances
composer install
npm install

# Configurer l'environnement
cp .env.example .env
php artisan key:generate

# Configuration base de données
php artisan migrate --seed

# Compiler les assets frontend
npm run build

# Démarrer le serveur de développement
php artisan serve

API & GraphQL

API REST

API RESTful complète avec authentification par token Sanctum :

  • Endpoints API complets pour toutes les ressources
  • Validation des requêtes et gestion des erreurs
  • Limitation de débit (Rate limiting) et throttling
  • Documentation OpenAPI auto-générée

GraphQL

API GraphQL moderne pour des requêtes de données flexibles :

  • Requêtes et mutations typées
  • Génération automatique de documentation
  • Playground GraphQL interactif
  • Support de la pagination et du filtrage

→ Essayer le Playground GraphQL

Déploiement

Pipeline CI/CD

Déploiement automatisé avec GitHub Actions :

  • Déclencheur : Automatique lors de la création d'une nouvelle release
  • Étape Build : Dépendances, assets, migrations
  • Étape Test : Tests PHPUnit & Playwright
  • Étape Deploy : Déploiement SSH sur le serveur de production

Stack de Production

  • Conteneurisation Docker pour la cohérence
  • Proxy inverse Nginx
  • Serveur d'application PHP-FPM
  • Base de données de production PostgreSQL
  • Redis pour le cache et les files d'attente
  • SSL/TLS avec Let's Encrypt

Assurance Qualité

Qualité du Code

  • PHPStan pour l'analyse statique (niveau 8)
  • PHP-CS-Fixer pour la cohérence du style de code
  • ESLint pour le linting JavaScript
  • TypeScript pour la sécurité de typage

Monitoring Performance

  • Lighthouse CI : Tests de performance automatisés (scores 95+)
  • Laravel Pulse : Monitoring d'application en temps réel
  • Sentry : Suivi complet des erreurs et alertes

Tests

Suite de tests complète couvrant toutes les fonctionnalités critiques :

  • Tests de Fonctionnalités : CRUD voitures, authentification, liste de souhaits, paiements
  • Tests End-to-End : Tests Playwright pour les flux utilisateurs critiques
  • Tests de Performance : Tests de charge et optimisation
  • Tests API : Tests des endpoints GraphQL et REST
# Lancer tous les tests
php artisan test

# Lancer les tests E2E
npm run test:e2e

# Lancer avec couverture de code
php artisan test --coverage