Aller au contenu principal

BrokerMail

Plateforme SaaS d'emailing multi-tenant pour courtiers — migration Laravel 8 vers Next.js

Next.jsTypeScriptPostgreSQLDrizzle ORMTailwind CSSMailjet APIExact Online APIDigital Ocean Spaces
BrokerMail est une plateforme SaaS d'emailing professionnel pour courtiers, développée en collaboration. J'ai rejoint le projet en cours de route et pris en charge plusieurs modules en autonomie complète, de la conception à la mise en production.

Stack technique

Next.js 14 (App Router), TypeScript strict, Drizzle ORM sur PostgreSQL (Digital Ocean), Tailwind CSS. Intégrations externes : API Mailjet, Digital Ocean Spaces (stockage fichiers), Exact Online (facturation). J'ai réalisé la migration MySQL → PostgreSQL en cours de projet, en maintenant la compatibilité avec le schéma Laravel existant.

Éditeur d'articles

Module développé entièrement en solo sur ma branche. Éditeur rich text basé sur TipTap avec support du collage depuis Word (tableaux, listes, styles préservés), images redimensionnables, vue HTML formatée et upload vers DO Spaces. J'ai écrit un sanitizer maison qui nettoie le HTML arbitraire de Word pour produire un rendu propre et cohérent dans les emails.

Intégrations & automatisation

Webhooks Mailjet pour les événements de délivrabilité (désinscription, bounce, blocked). Tracking de clics via endpoint dédié. OAuth Exact Online pour la création de factures. Auto-assignation du compte Mailjet le moins chargé (parmi 5 comptes BM) à la création d'un broker. Crons : import trimestriel d'articles depuis la DB legacy, stats campagnes, gestion de nouveau trimestre.

Admin & sécurité

Pages admin crédits, subscriptions et audit logs. Validation systématique de l'ownership des ressources avant toute mutation. Vérification des permissions côté serveur. Fix de la lookup email en case-insensitive pour la compatibilité avec les données migrées.

Portail broker & UI

Thème clair/sombre complet avec tokens cohérents, sélecteur de langue FR/NL/EN, section articles pour les brokers avec scoping multi-tenant strict.