Noah LamontMe contacter
Retour aux projets
2025·Web·Projet école — équipe 5

AREA — Plateforme d'automatisation

Clone d'IFTTT/Zapier — plateforme qui connecte des services tiers (Google, GitHub, Discord, Twitch, Notion, X) pour automatiser des workflows. Suite complète web + mobile + backend en monorepo.

NestJSReact 19React NativePrismaBullMQ
AREA — Plateforme d'automatisation
AREA — Plateforme d'automatisation · case study
01

Contexte

Projet Epitech, équipe de 5 — conception et développement d'une plateforme complète d'automatisation logicielle inspirée d'IFTTT et Zapier. Monorepo avec backend NestJS, client web React 19 (Vite), app mobile React Native (Expo) et base PostgreSQL, le tout orchestré par Docker.

02

Problème

Les utilisateurs perdent du temps sur des tâches répétitives entre apps (copier un email vers Discord, créer une tâche Notion depuis GitHub, suivre un stream Twitch…). L'écosystème numérique manque cruellement d'interopérabilité, chaque outil reste un silo.

03

Solution

Hub central qui connecte les services tiers via OAuth2, permet de créer des règles « Si X alors Y » (les AREAs), et exécute les enchaînements en arrière-plan via un moteur de polling et des files BullMQ/Redis. UX unifiée web + mobile, backend NestJS modulaire, schéma Prisma flexible avec JSONB pour les paramètres dynamiques.

04

Défis techniques

Défi 1

Moteur d'automatisation extensible

Polling intelligent qui surveille des services hétérogènes sans dupliquer les exécutions (table PollingState dédiée), architecture Service → AvailableAction → Action qui permet d'ajouter un nouveau service sans toucher au cœur du système.

Défi 2

OAuth2 multi-providers + sécurité

Passport.js avec une stratégie par service, JWT + refresh tokens pour l'API, chiffrement des tokens tiers stockés en base. Chaque provider a ses subtilités (Discord vs Google vs GitHub) et la doc générique ne suffit jamais.

Défi 3

Suite cross-platform en monorepo

Backend NestJS + web React 19 (Vite) + mobile React Native (Expo) qui partagent types et conventions, le tout dockerisé. Cohérence d'expérience entre 3 surfaces et 5 développeurs sur la même base de code.

05

Apprentissages

  • Une plateforme d'automatisation tient ou tombe sur la robustesse de son moteur de planification, pas sur le nombre d'intégrations qu'elle annonce.
  • OAuth2 multi-providers, c'est 90 % de gestion d'erreurs spécifiques par provider — la doc générique sert juste de point de départ.
  • À 5 sur un projet, les conventions partagées (types, naming, structure) valent plus que le talent individuel.