← Retour aux réalisations Application Web · Automobile

Car Market Node.js

Une plateforme de vente de véhicules avec recherche, filtrage et annonces détaillées.

Car Market Node.js
PROJET

Le projet

Car Market est une application web construite autour d'un catalogue de véhicules, avec recherche, filtrage et fiches détaillées pour chaque véhicule. Elle présente une architecture moderne avec un design adaptatif et une navigation intuitive.

Architecture Système & Piliers Techniques

Car Market combine une API REST Node.js & Express découplée avec une application monopage React (Vite) ultra-rapide pour offrir des temps de recherche inférieurs à la seconde et une expérience de vente fluide.

┌─────────────────────────────────────────────────────────────────────────────┐
│                    Car Market Full-Stack Architecture                       │
└──────────────────────────────────────┬──────────────────────────────────────┘
                                       │
           ┌───────────────────────────┼───────────────────────────┐
           ▼                           ▼                           ▼
  🔍 Moteur de Recherche Intelligent       📸 Hub Médias & Espace Vendeur       🛡️ Sécurité, Modération & RGPD
  • Sliders synchronisés avec la BDD      • Drag & Drop jusqu'à 15 photos      • File d'attente d'approbation
  • Cascade Marque ➔ Modèle      • Sélection de photo de couverture   • Inspection complète de l'annonce
  • Élimination des pages sans résultats      • Conversion WebP automatique (Sharp)        • RGPD Articles 17 & 20
  • Compteurs de stock en direct      • Intégration YouTube & Shorts       • Authentification JWT & Bcrypt
            

Découverte en Temps Réel

Filtrage multicritère asynchrone instantané sans rechargement de page.

Optimisation Automatisée

Téléversement multiple d'images avec réorganisation fluide et compression WebP côté serveur.

Conformité RGPD Européenne

Export de données JSON en un clic et suppression physique définitive du compte et des fichiers.

1. Moteur de Recherche Intelligent & Filtres Dynamiques

Le moteur de recherche calcule dynamiquement ses limites à partir de la base de données MySQL pour éliminer les recherches infructueuses :

  • Curseurs doubles liés à la BDD (rc-slider): Les sliders Prix, Kilométrage et Année s'adaptent automatiquement aux valeurs minimales et maximales réelles en stock.
  • Sélecteurs en cascade Marque ➔ Modèle:
    • Zéro résultat vide: Le menu déroulant n'affiche que les marques et modèles ayant au moins un véhicule en stock approuvé.
    • Badges de comptage en direct: Indicateur en direct du nombre d'annonces disponibles à côté de chaque option (ex: Renault (4) ➔ Clio V (2)).
  • Filtres d'attributs techniques: Filtrage par catégorie (Auto, Moto, Utilitaire), carrosserie (Berline, SUV, Break, Coupé, etc.), carburant (Essence, Diesel, Hybride, Électrique, GPL) et boîte de vitesses.
  • Tri Asynchrone: Tri instantané par date d'ajout, prix croissant/décroissant, kilométrage ou année.

2. Fiche Véhicule Détaillée & Expérience Multimédia

La page détaillée du véhicule (/vehicule/:slugOrId) est structurée en 2 colonnes orientées conversion :

Galerie Multimédia Interactive

Intégration de vidéos YouTube et Shorts en position principale du carrousel, suivies des photos haute résolution WebP.

Grille des Spécifications Techniques

Cylindrée (cm³), puissance (ch), consommation, norme antipollution (Euro 1 à Euro 7), numéro de châssis VIN, nombre de portes et places.

Contact Vendeur Direct

Formatage international du numéro avec lien d'appel natif tel: et formulaire de demande directe.

3. Publication d'Annonces & Pipeline de Traitement d'Images

Car Market fournit aux vendeurs particuliers et professionnels des outils simples et performants :

  • Taxonomie Automobile Complète (120 Marques & 1 890+ Modèles): Catalogue complet disponible lors du dépôt pour une classification exacte.
  • Vérification Préalable du Profil: Publication bloquée tant que le profil du vendeur n'est pas complété (nom, prénom, numéro vérifié).
  • Réorganisation par Glisser-Déposer (SortableJS): Téléversement jusqu'à 15 photos simultanément avec glisser-déposer pour choisir l'image de couverture ⭐ Couverture.
  • Conversion WebP Automatique (Sharp): Conversion instantanée côté serveur au format moderne .webp à 80% de compression avec correction de l'orientation EXIF.
  • Espace « Mes Annonces »: Tableau de bord complet avec onglets de statut (Toutes, En ligne, En attente), modification directe et suppression.

4. Contrôle Qualité & Modération Administrateur

Pour garantir un catalogue sain et éliminer les fraudes, la plateforme intègre un sas de modération :

File de Modération

Toute annonce déposée par un utilisateur reste en attente jusqu'à sa validation par un administrateur.

Vue d'Inspection Complète

Interface dédiée (/admin/vehicule/:id) permettant de zoomer sur les photos, vérifier le VIN et inspecter les informations du vendeur.

Actions en Un Clic

Boutons sécurisés pour approuver, rejeter/désactiver ou modifier immédiatement l'annonce.

5. Sécurité & Conformité RGPD Européenne

Car Market applique rigoureusement les normes du Règlement Général sur la Protection des Données (RGPD UE 2016/679) :

  • Authentification Stateless JWT: Jetons sécurisés Bearer avec hachage des mots de passe par Bcrypt (8 caractères minimum, minuscules, majuscules, chiffres et caractères spéciaux).
  • Portabilité des Données (Article 20 RGPD): Export JSON structuré en un clic regroupant le profil et l'historique complet des annonces du compte.
  • Droit à l'Oubli (Article 17 RGPD): Suppression définitive du compte entraînant la purge des données et la suppression physique des photos sur le serveur.

6. Matrice des Fonctionnalités Techniques

Fonctionnalité Implémentation Technique Avantage SEO & Performance
Sliders Dynamiques rc-slider + Prisma DB Aggregations Engagement Élevé Filtrage réactif sans rechargement de page
Cascade Intelligente Prisma vehicles: { some: { isApproved: true } } Contenu Qualitatif Évite l'indexation de pages de recherche vides
Optimisation Images Sharp Node.js library to WebP 80% Core Web Vitals Affichage rapide du First Contentful Paint (FCP)
Intégration Vidéos Responsive 16:9 YouTube iframe embeds Temps de Session Augmente la durée moyenne des visites
Slugs d'URLs slugify with unique ID suffixes Indexation SEO URLs sémantiques et lisibles pour les moteurs de recherche
Sécurité & Confidentialité JWT Tokens + Bcrypt + GDPR Art. 17 & 20 Conformité Légale Respect total des réglementations européennes

Explorer la Plateforme en Direct

Testez les filtres de recherche, la gestion des annonces et l'interface responsive.

Visiter l'Application Live ↗