Marketplace marocaine de pièces automobiles
Garajcom
Une marketplace Arabic-first reliant les automobilistes marocains aux vendeurs de pièces grâce à la recherche produit, la gestion des boutiques, du stock et des commandes.

Le défi
Le marché des pièces automobiles est fragmenté : les clients identifient difficilement la bonne pièce et les vendeurs indépendants manquent d’un espace unifié pour leur catalogue, leur stock et leurs commandes.
La solution
Garajcom réunit une vitrine Angular RTL, des espaces vendeur et admin, une API REST Express, un contrôle transactionnel du stock, PostgreSQL, Cloudinary et des accès par rôle.
Résultats clés
- Expérience d’achat en arabe avec prix en dirham marocain
- Boutiques, catalogues, stocks et commandes reliés
- Transactions sérialisables vérifiant et déduisant le stock disponible
Capacités de la plateforme
Marketplace, catégories, produits, panier, livraison et création de commande
Comptes clients, profils, récupération de mot de passe et historique
Inscription vendeur, boutique, produits, images et commandes du magasin
Administration des comptes, formulaires dynamiques, utilisateurs, boutiques et commandes
Formulaires d’inscription et de produit configurables
Téléversement et suppression des images via Cloudinary
Ressources arabe et anglaise avec interface RTL
Déploiement Docker avec PostgreSQL, Express, Angular/Nginx et Certbot
Workflow métier connecté
- STEP 1Le client trouve une pièce
- STEP 2Ajout au panier local
- STEP 3Envoi de la livraison et du paiement
- STEP 4Validation serveur du produit et du stock
- STEP 5Transaction sérialisable et déduction du stock
- STEP 6Consultation par le client et le vendeur concerné
Architecture du système
- SPA Angular 17 avec composants standalone, lazy loading, TypeScript et RxJS
- API REST Express 5 avec contrôleurs, middleware, Zod et routes par rôle
- Prisma 7 et PostgreSQL 17 pour utilisateurs, boutiques, produits, commandes et formulaires
- Cloudinary pour les médias, Nodemailer pour la récupération et Nginx/Docker pour le déploiement
Sécurité & intégrité
- bcrypt et authentification JWT à durée limitée
- Contrôle de propriété des boutiques et autorisations utilisateur/admin
- Validation Zod et limites sur les champs
- Transaction sérialisable pour la cohérence du stock
- Helmet, CORS explicite, masquage powered-by et rate limiting
- Restrictions MIME/taille avec durcissement Cloudinary encore documenté