← 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

Redis sert de cache pour les requêtes fréquentes et de session store pour Auth0. Choix de Fastify (au lieu d'Express) pour les perfs brutes : 2x le throughput sur les benchmarks NestJS.

Framework NestJS 10 + TypeScript
HTTP Fastify
ORM TypeORM + PostgreSQL 16
Auth Auth0 (passport-jwt + jwks-rsa)
Cache Redis
Validation class-validator + Joi
Security Helmet, CSRF, Throttler
Docs Swagger / OpenAPI
Infra Docker Compose, AWS EC2, Nginx
CI GitHub Actions

Points forts

Voir le repo GitHub →