PersonnelFacile

Système de gestion des stocks

API et tableau de bord de gestion des stocks en NestJS, Prisma et React, déployés sur AWS dans un VPC dédié avec ECS et RDS.

— Vue d'ensemble

Aperçu de l'architecture

graph TB
    subgraph VPC["VPC AWS, deux zones de disponibilité"]
        subgraph Public["Sous-réseaux publics"]
            A[Répartiteur de charge]
        end
        subgraph Prive["Sous-réseaux privés"]
            B["NestJS sur ECS<br/>Docker"]
        end
        subgraph Donnees["Sous-réseaux base de données"]
            C[(RDS PostgreSQL)]
        end
    end
    D["Tableau de bord React<br/>Vite + MUI"] --> A --> B --> C

Un suivi de stock scindé en une API NestJS et un tableau de bord React. L'API modélise produits et mouvements via Prisma sur PostgreSQL, valide chaque charge utile par des DTO class-validator et publie un document Swagger.

La moitié la plus instructive du projet fut le déploiement. Plutôt que de recourir à une plateforme managée, l'API a été conteneurisée et placée sur ECS dans un VPC construit à la main : deux zones de disponibilité, sous-réseaux publics et privés, sortie par NAT, et un groupe de sous-réseaux dédié à RDS. Le dépôt conserve le pas-à-pas de cette mise en place.

Fonctionnalités clés :

  • Suivi des produits et des mouvements de stock via une API REST typée
  • Validation par DTO et documentation Swagger sur chaque point d'entrée
  • Tableau de bord Material UI avec état Redux Toolkit et routage côté client
  • Image conteneurisée de l'API pour déploiement sur ECS
  • VPC sur deux zones avec sous-réseaux publics, privés et base de données
  • RDS PostgreSQL derrière un groupe de sous-réseaux dédié
  • Guide de déploiement écrit couvrant tout le parcours dans la console AWS

Stack technique :

  • Backend : NestJS, TypeScript, Prisma, PostgreSQL
  • Frontend : React, TypeScript, Vite, Material UI, Redux Toolkit
  • Infrastructure : AWS VPC, ECS, RDS, Docker
— Stack
TypeScriptNestJSReactNode.jsPrismaPostgreSQLAWSDockerMaterial UIReduxVite