← projets

iPhone Cameroon — showroom & boutique Apple

E-commerce style apple.com, paiement Mobile Money

Next.js 15NestJS 10PrismaPostgreSQLGSAPReact Three FiberMobile Money

Le pari

Reproduire le feel apple.com — scrolls millimétrés, produits en 3D — tout en encaissant par Mobile Money sur le marché camerounais.

Architecture

Monorepo Turborepo bâti sur un seul contrat Zod (@repo/shared) qui génère les types, les DTO de l'API et les resolvers de formulaires. Front et back parlent le même langage : une modification du contrat casse la compilation là où il faut, pas en production.

  • packages/shared — schémas Zod → types + DTO + formatter XAF
  • apps/api — NestJS 10 + Prisma + PostgreSQL (JWT argon2)
  • apps/web — Next.js 15 + React 19 + Tailwind v4

Décisions clés

  • Prix recalculé côté serveur au checkout : le panier client dit quoi, jamais combien. Stock décrémenté de façon transactionnelle — pas de survente.
  • Mobile Money via agrégateur (MTN MoMo / Orange Money), mode sandbox par défaut, retour de paiement par webhook signé HMAC-SHA256.
  • Showroom : Lenis (smooth scroll), GSAP (timelines synchronisées au scroll), React Three Fiber + drei (produits 3D).

Stack

Next.js 15 · NestJS 10 · Prisma · PostgreSQL · GSAP · Lenis · React Three Fiber · Turborepo


Retour d'expérience détaillé : iPhone Cameroon : un showroom Apple qui encaisse en Mobile Money.