Le projet
Une ferme qui vend ses produits en direct avait besoin de mieux qu’une vitrine : un vrai canal de vente. Catalogue, panier, comptes clients, commandes, paiement en ligne, et surtout un espace d’administration pensé pour un client non technique, qui gère seul ses produits, ses stocks et ses commandes au quotidien.
Stack et architecture
- Front : Next.js (React), formulaires validés par Zod et React Hook Form.
- API : NestJS + Prisma sur PostgreSQL. Authentification JWT, validation systématique des entrées, rate-limiting, en-têtes durcis (Helmet), logs structurés (Pino), endpoint de santé pour la supervision.
- Paiement : Stripe, intégré de bout en bout (du panier à la confirmation de commande).
- Emails transactionnels (confirmations, notifications) : relayés par le Hub, l’event store de la plateforme.
- Anti-bot : Cloudflare Turnstile sur les formulaires publics.
Ce qui a demandé du travail
- Le paiement de bout en bout : les états d’une commande doivent rester cohérents quoi qu’il arrive entre le panier, Stripe et la base. C’est le cœur de la fiabilité d’un e-commerce.
- L’autonomie du client : l’interface d’administration doit être utilisable sans formation, sinon chaque opération devient un ticket.
- Le schéma de données : conçu d’abord, migré proprement ensuite (migrations Prisma versionnées).
Exploitation
Conteneurisé et servi par l’infrastructure de la plateforme : reverse proxy, TLS automatique, sauvegardes, supervision. Développé, déployé et maintenu par la même personne, en production depuis janvier 2026.