← Retour

ArtFolio est une plateforme permettant aux artistes de partager leurs œuvres et d'interagir avec leur communauté. C'est mon projet de fin de formation à l'École O'Clock, et aussi celui sur lequel j'ai le plus investi. J'ai conçu et développé l'intégralité du backend : de l'architecture DDD aux pipelines CI/CD, en passant par l'auth, les tests et le déploiement.

Architecture DDD

Le domaine n'a aucune dépendance vers NestJS ou TypeORM. Les contrats sont définis par des interfaces dans la couche domain.

00

Presentation

Controllers, Swagger, DTOs

01

Application

Use cases, validators, handlers

02

Domain

Entities, value objects, interfaces

03

Infrastructure

Repositories TypeORM, Auth0, services

Stack technique

Le cache (CacheModule de NestJS, en mémoire avec TTL) allège la charge sur PostgreSQL pour les données souvent lues mais rarement modifiées. Fastify a été choisi à la place d'Express pour ses performances, reconnues dans l'écosystème Node.js.

FrameworkNestJS 10 + TypeScript
HTTPFastify
ORMTypeORM + PostgreSQL 16
AuthAuth0 (passport-jwt + jwks-rsa)
CacheNestJS CacheModule (en mémoire)
TestingJest + @nestjs/testing
Validationclass-validator + Joi
SecurityHelmet, CSRF, Throttler
DocsSwagger / OpenAPI
InfraDocker Compose, AWS EC2, Nginx
CIGitHub Actions

Points forts

ArtFoliopar ClementVallois

Backend NestJS complet avec architecture DDD, Auth0, Docker Compose et déploiement AWS EC2.

Voir sur GitHub