Étude de cas · Plateforme de lecture & communauté

Fantasy Alley

En cours

Plateforme de lecture fantasy à trois étages : une app Flutter (lecteur EPUB/PDF avec DRM, marketplace, réseau social), une API NestJS avec auto-publication et modération pour auteurs indés, et un pipeline Python qui synchronise un catalogue professionnel de ~125 000 livres.

Contexte

Fantasy Alley est une plateforme de lecture dédiée à la fantasy, pensée comme un produit à trois étages : une application de lecture, une API métier, et un pipeline d'ingestion de catalogue. L'objectif : réunir lecteurs, auteurs indépendants et catalogue professionnel dans un seul écosystème, avec une communauté active autour.

Le défi

Faire cohabiter trois stacks et trois logiques dans un seul produit cohérent. Une app riche (lecteur, bibliothèque, marketplace, social) doit rester fluide. Une API doit gérer l'auto-publication des auteurs et la modération sans devenir un goulot. Et il faut avaler un vrai flux d'édition professionnelle — des imports de plusieurs gigaoctets — sans casser l'expérience.

Notre approche

Trois briques articulées. L'app Flutter porte le catalogue, un lecteur intégré EPUB/PDF avec DRM, la bibliothèque, la marketplace et un réseau social. L'API NestJS (une vingtaine de modules métier, PostgreSQL, AWS Cognito) gère un workflow d'auto-publication pour les auteurs indépendants et une modération à niveaux de confiance (new, validated, trusted) avec fast-track. Un pipeline Python/FastAPI ingère le catalogue professionnel au format ONIX 3.0 depuis Dilicom, le hub du livre numérique francophone : environ 125 000 livres synchronisés, imports de plusieurs Go suivis en direct par WebSocket avec fallback REST. Autour, une communauté Discord gamifiée avec économie virtuelle et un bot conversationnel branché sur une base vectorielle.

Stack technique
FlutterNestJSPostgreSQLCognitoPythonFastAPIDilicom/ONIX
Résultat

Produit en construction. Les trois stacks et le flux d'édition professionnelle sont en place ; l'itération continue avec le client.