Aller au contenu
Retour

Twenty

Rôle
Développeur back-end et front-end - Nest.js, React.js
Période
juin 2023 → mars 2025
Secteur
Édition de logiciels / Open source
Lieu
Paris

Objectif de la mission

Construire les fondations back-end du CRM open-source Twenty, alternative moderne et scalable à Salesforce, avec une forte exigence de performance.

Contexte

Twenty construit un CRM open source, alternative moderne et scalable à Salesforce. Un CRM multi-tenant expose à chaque organisation son propre modèle de données, objets standard et objets personnalisés, là où GraphQL est par nature statique : un seul schéma pour tout le monde. Il fallait des fondations back-end capables de servir un schéma dédié par tenant, mis à jour dès qu'un utilisateur modifie son modèle, sans sacrifier la performance ni la lisibilité de l'API.

Approche

La couche GraphQL, en Nest.js et TypeORM, génère à la volée un schéma dédié à chaque organisation à partir du token de l'entreprise, avec une mise en cache qui évite de le reconstruire à chaque requête. Chaque tenant dispose ainsi d'une API introspectable, mise à jour automatiquement, sur laquelle n'importe quel développeur peut brancher un front-end. En parallèle, un travail continu sur la performance et la scalabilité de la plateforme, et des contributions front-end en React.js.

Stack

Nest.jsGraphQLTypeScriptTypeORMReact.jsMulti-tenant

github.com/twentyhq/twenty

Ce que j'ai livré

  • Conception d'une couche GraphQL multi-tenant générant à la volée un schéma dédié à chaque organisation, à partir du token de l'entreprise, là où GraphQL est par nature statique.
  • Chaque tenant dispose de son propre schéma, introspectable comme une API classique et mis à jour automatiquement : n'importe quel développeur peut brancher un front-end dédié sur son propre CRM.
  • Travail continu sur la performance et la scalabilité de la plateforme, et contributions front-end en React.js.
Parlons-en

Un projet en tête ?

Réponse garantie en moins d'une heure, et trente minutes d'audit offertes en visio.

M'écrireMaltLinkedIn

Emailcontact@magrin.fr

Téléphone+33 6 73 12 19 30

LocalisationParis, France · full remote