← Back

ArtFolio is a platform for artists to share their work and interact with their community. It was my final project at École O'Clock, and the one I invested the most into. I designed and built the entire backend: DDD architecture, auth, tests, CI/CD pipelines, and deployment.

DDD Architecture

The domain has zero dependencies on NestJS or TypeORM. Contracts are defined through interfaces in the domain layer.

00

Presentation

Controllers, Swagger, DTOs

01

Application

Use cases, validators, handlers

02

Domain

Entities, value objects, interfaces

03

Infrastructure

TypeORM repositories, Auth0, services

Tech Stack

Redis for caching frequent queries and as Auth0 session store. Fastify chosen over Express for its superior performance, well recognized in the Node.js ecosystem.

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

Highlights

ArtFolio by ClementVallois

Full NestJS backend with DDD architecture, Auth0, Docker Compose, and AWS EC2 deployment.

View on GitHub