Aller au contenu principal
← Projets

Flow-Boilerplate-Estore

Backend e-commerce : API Rails 8, Stripe, auth JWT et jobs asynchrones. Pensé pour un usage concret (impressions 3D, activité future) puis servir de socle pour d'autres boutiques. API REST versionnée (JSON:API), suite de tests RSpec, déploiement préparé avec Kamal 2.

Rails 8 · PostgreSQL 16 · Redis · Solid Queue · Inertia/React · JSON:API · Stripe · Devise · JWT · Pundit · RSpec · PlaywrightGitHub

Case study

Avant

Je voulais une base e-commerce que je puisse d'abord utiliser pour moi (vente d'impressions 3D ou lancement d'activité), puis réutiliser comme socle pour d'autres projets.

Objectif : un backend e-commerce complet, maîtrisé de bout en bout, avec API exploitable, paiements Stripe réels et authentification solide, que je peux déployer en production et proposer ensuite comme fondation à des clients.

En parallèle, Estore sert de boilerplate réutilisable pour de futurs sites e-commerce, avec une architecture assez propre pour être adaptée ou vendue telle quelle. Projet en cours de développement.

Mission

Concevoir un monolithe Rails 8 avec double entrée : web (Inertia + session Devise) et API v1 (JWT + JSON:API), sur une seule base de code et un seul déploiement.

Structurer l'app en services (paiement, inventaire, taxes, paniers abandonnés, réservations de stock, notifications), jobs Solid Queue, mailers et policies Pundit.

Exposer un catalogue, un panier, un checkout en trois étapes et un back-office admin (produits, commandes, utilisateurs, paramètres paniers abandonnés).

Ajouter une couche de sécurité (Devise confirmable/lockable, Rack::Attack, CSP, JWT), et préparer un déploiement Kamal 2 documenté (config deploy.yml, hooks, runbooks).

Résultat

Un backend e-commerce en cours de finalisation, déjà structuré autour d'une API REST v1 (JSON:API) pour l'auth, le panier, le catalogue, les commandes et les webhooks Stripe.

Une suite de tests RSpec couvrant modèles, API, services, jobs, mailers, policies et pages Inertia, complétée par des tests E2E Playwright (home, auth, PLP/PDP, panier, checkout).

Une configuration Kamal 2 prête pour le déploiement (config, hooks, runbooks, CI de qualité) qui permet d'emmener ce monolithe en production sans recoder l'infra.

Apprentissage clé : concevoir un backend e-commerce API-first, testable et déployable, qui reste réutilisable comme boilerplate pour d'autres boutiques.