car-hub.xyz
Une Plateforme de Marché Automobile Moderne et Prête pour la Production
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
Optimisé avec les files d'attente Laravel Horizon, le cache Redis et Lighthouse CI pour des scores de performance supérieurs à 95.
Propulsé par Meilisearch pour des recherches de voitures ultra-rapides avec filtres et agrégations avancés.
Progressive Web App avec support hors-ligne et expérience optimisée pour mobile.
Paiements sécurisés Stripe avec gestion des webhooks et suivi des transactions.
Notifications en direct via WebSocket propulsées par Laravel Reverb.
Suivi des erreurs intégré avec Sentry et monitoring via Laravel Pulse.
Stack Technique
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 permissionscars: Annonces de voitures avec spécifications détailléescar_features: Caractéristiques dynamiques (ABS, GPS, etc.)car_images: Stockage d'images optimisé avec intégration CDNfavorite_cars: Listes de souhaits utilisateursmakers: Constructeurs automobilesmodels: 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
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