
Plateforme web et mobile française dédiée aux animaux domestiques, articulée autour de trois fonctions, l'adoption (vitrine des refuges, candidatures), les perdus/trouvés (signalements géolocalisés avec matching PostGIS) et les pensions professionnelles agréées. Architecture monorepo polyglotte avec une API REST .NET 10 (monolithe modulaire à bounded contexts), deux SPA React 19 distinctes (vitrine publique et espace pro), une application mobile Expo, et des packages partagés (design system, couche API). Matching géospatial en SQL natif via PostGIS, authentification JWT avec rotation de refresh tokens.
Adoption avec vitrine refuges et candidatures en ligne
Signalements perdus/trouvés géolocalisés
Matching automatique par proximité (PostGIS)
Annuaire de pensions professionnelles agréées
Authentification JWT avec rotation de refresh tokens
Cartographie interactive (MapLibre GL)
Espace pro back-office (consoles refuge/pension/véto)
Application mobile Expo / React Native
Concevoir une plateforme multi-acteurs (adoptants, refuges, pensions, vétérinaires, administrateurs) couvrant trois domaines métier distincts, tout en gardant une architecture maintenable en solo. Le cœur technique repose sur un matching géospatial performant entre signalements d'animaux perdus et trouvés (proximité, espèce, description, date), nécessitant des requêtes PostGIS natives. L'ensemble devait partager un contrat d'API stable entre une vitrine publique, un back-office pro et une application mobile, sans duplication de code.
Structurer une API .NET en bounded contexts découplés, communiquant uniquement via leurs API publiques
Rapprocher automatiquement les signalements par proximité, espèce et description via des requêtes PostGIS natives
Exposer un contrat stable consommé sans duplication par la vitrine publique, l'espace pro et le mobile
Gérer adoptants, refuges, pensions, vétérinaires et admins avec JWT et rotation de refresh tokens
Architecture monorepo polyglotte avec une API REST .NET 10 structurée en monolithe modulaire à bounded contexts (Identity, Adoption, Shelters, LostFound, Pensions...), où chaque module n'accède aux autres que via leur API publique. Matching géospatial en SQL natif (ST_DWithin / ST_Distance sur ::geography) via NetTopologySuite. Deux SPA React 19 (publique et pro) partageant un design system et une couche d'accès API communs, plus une application mobile Expo consommant un client openapi-fetch typé généré depuis l'OpenAPI .NET. Authentification JWT (access court + refresh long avec rotation) et contrat d'API enveloppé stable partagé par tous les clients.
Vitrine publique adoptants
Back-office refuge/pension/véto
Expo / React Native
Auth JWT, users
Animaux, candidatures
Signalements, matching PostGIS
Annuaire pro agréé
3
Domaines métier
Adoption, Perdus/Trouvés, Pensions
10
Modules API
Bounded contexts .NET
3
Clients
Web public, pro, mobile
PostGIS
Matching
Géospatial en SQL natif
1
Développeur
Projet solo fullstack

Plateforme française dédiée à l'adoption et aux retrouvailles d'animaux domestiques
Organiser l'API en bounded contexts avec des frontières strictes facilite la maintenance solo et prépare une éventuelle extraction de services
Déléguer le calcul de proximité à PostGIS (ST_DWithin / ST_Distance) offre des performances natives bien supérieures à un filtrage applicatif
Mutualiser le design system et la couche API entre la vitrine publique et l'espace pro évite la duplication tout en gardant l'API comme frontière de sécurité
Générer un client openapi-fetch depuis l'OpenAPI .NET garantit que le mobile reste synchronisé avec le contrat d'API sans types écrits à la main

Solution complète de gestion de questionnaires médicaux et de rééducation avec API microservices, dashboard admin et application mobile patient.

Backoffice e-commerce moderne pour une marque de mode, avec gestion de produits, création de looks visuels, suivi clients et mode démo hors-ligne, construit en React 19 et Supabase.

Fournisseur d'identité sécurisé et conforme RGPD, écrit en Rust, permettant une authentification unique via OAuth 2.1 / OpenID Connect et le partage maîtrisé de données personnelles avec des applications tierces.