ABAbdellah Bouhaddi
CV ↓
← Toute la sélection de projets
ProductionProduit de l'entreprise · MATMAK, Dubaï, Émirats arabes unis · juin 2024 → aujourd'hui

cat ./work/matmak.md

Faire évoluer un SaaS .NET en production sur toutes ses couches.

La plateforme de MATMAK fournit aux installateurs de PPF et de films pour vitrages des patterns véhicules prédécoupés et le logiciel qui gère leur travail de découpe. Je travaille avec l'équipe d'ingénierie sur le produit ASP.NET Core existant, des interfaces client et d'administration à la facturation et aux performances des données, et j'exploite l'infrastructure dont il dépend.

Rôle
Développeur Full Stack
Période
Juin 2024 → aujourd'hui
Contexte
Produit existant · équipe
Stack principale
C# · ASP.NET Core · EF Core
~40%plus rapides sur les lectures et écritures concernées en base de données
Stripeabonnements, facturation et webhooks
De bout en boutserveurs, AWS, CI/CD et supervision sous ma responsabilité

Le contexte

MATMAK était déjà en production à mon arrivée, et de vrais clients en dépendaient chaque jour. Il ne s'agit pas d'une réécriture, mais de faire évoluer en toute sécurité une application établie : ajouter des fonctionnalités, moderniser ce que voient les clients, et garder la plateforme rapide et stable.

Le produit réunit comptes utilisateurs, abonnements, facturation, tarification, crédits, un vaste catalogue de patterns véhicules, des opérations de découpe, un site destiné aux clients et un back-office d'administration.

Produit d'équipe. Je contribue à une plateforme existante aux côtés de l'équipe d'ingénierie. Le travail décrit ci-dessous est ma part, et je ne prétends pas avoir construit MATMAK seul.

Ce que je développe

  • Je fais évoluer les API REST ASP.NET Core, les Razor Pages, les services et les workflows métier.
  • Je travaille sur l'authentification, les abonnements, la facturation, la tarification, les crédits et les opérations de découpe.
  • J'ai repensé les pages destinées aux clients et l'interface d'administration en une UI moderne et responsive, reliée aux services existants.
  • J'ai intégré les paiements ponctuels Stripe, les abonnements récurrents, la facturation et les mises à jour de statut de paiement par webhooks.
  • Je travaille directement avec la direction et l'équipe sur les besoins, les priorités et les mises en production.

Comment le système s'articule

La solution est une base de code .NET modulaire et multi-projets. Voici la partie de chaque couche sur laquelle je travaille :

CoucheCe que je faisOutils
InterfacesPages client et back-office d'administration, repensés pour une expérience moderne et responsive.Razor Pages · HTML · CSS · JS
ApplicationAPI, services et workflows pour les comptes, les abonnements, la facturation, la tarification, les crédits et la découpe.C# · ASP.NET Core · Web API
PaiementsPaiements ponctuels et récurrents, factures, mises à jour de statut par webhooks.Stripe
DonnéesConception de schémas, optimisation des requêtes, bases de données de production et sauvegardes.SQL · EF Core · LINQ
ExploitationServeurs, déploiements, préproduction, supervision et alertes.Linux · AWS · Nginx · GitHub Actions · Grafana

La base de code est découpée en projets API, Client, Admin, Models et Services, ce qui garde chaque responsabilité séparée et réutilisable.

Accélérer la couche de données

Certains chemins de lecture et d'écriture étaient plus lents que nécessaire. J'ai repensé une partie du schéma de base de données pour supprimer les tables redondantes et les jointures coûteuses, et j'ai optimisé les requêtes Entity Framework Core qui les sollicitaient.

Résultat : environ 40 % plus rapide sur les opérations de lecture et d'écriture concernées.

L'exploitation en production

Mon rôle va au-delà du code applicatif. J'assume la responsabilité de bout en bout de l'infrastructure de l'entreprise : comptes cloud, serveurs, bases de données de production, domaines, DNS, messagerie et services de paiement.

  • Je provisionne et je durcis des serveurs Linux cloud et VPS : accès SSH, pare-feu, reverse proxy Nginx, TLS et environnements d'exécution applicatifs.
  • J'administre AWS EC2, les bases de données de production, les sauvegardes automatisées et un environnement de préproduction séparé.
  • J'automatise les builds et les déploiements avec GitHub Actions.
  • J'ai mis en place la supervision avec Prometheus, Grafana, Loki et Promtail, avec des tableaux de bord et des alertes sur les serveurs, les API, Nginx et les logs applicatifs.

Les adresses internes, les données clients et les paramètres de sécurité sont volontairement absents de cette page.

Ce que cela montre

Ma façon de travailler au sein d'un produit établi : comprendre les contraintes, faire évoluer les workflows critiques pour l'activité sans les casser, relier les changements d'interface et de backend, et rester responsable jusqu'au déploiement et à la supervision.

Étude de cas suivanteHEXIS Training Centre : une plateforme de formation multilingueLa lire →

ping abdellah

Un poste de ce type à pourvoir ?

Je réponds sous une journée. Je peux volontiers détailler comment j'aborderais votre produit, votre stack ou votre infrastructure.