Aller au contenu
← Tous les projets
WebProjet client

Multi-Tenant E-Book Reading Platform

API de contenu Laravel multi-tenant, pipeline d'import et traitement d'images, plus une liseuse Next.js

Rôle
Développeur full-stack (seul)
Client / produit
Personnel
Années
2025
Statut
Prototype

Vue d'ensemble

Hamza a construit en Laravel 12 un backend de contenu multi-tenant pour des sites de lecture de livres et de bandes dessinées numériques. Chaque site tenant est identifié par son domaine et partage un catalogue central unique de séries, chapitres et pages, tandis que les utilisateurs, les commentaires, les notes et la progression de lecture restent séparés par tenant. Autour, Hamza a construit des workers d'import parallèles avec détection des chapitres manquants, un pipeline d'images qui convertit les pages en WebP et les envoie sur Cloudflare R2 avec une sauvegarde FTP, un système de diffusion publicitaire, et un admin Filament avec connexion par passkey. Hamza a aussi construit le frontend de liseuse en Next.js 16 qui consomme l'API, avec connexion JWT, bibliothèque personnelle, historique de lecture et commentaires en fil de discussion.

Code client privé

Points forts

  • Multi-tenancy par domaine : un catalogue partagé, avec utilisateurs, bibliothèque, progression de lecture, notes et commentaires conservés par tenant, et des clés d'API tenant renouvelables et masquées par préfixe.
  • Workers d'import parallèles avec un nombre de workers configurable (32 par défaut, plafonné à 200), des timeouts d'activité et une commande de benchmark, une source de repli associée par correspondance approximative du titre, ainsi que la détection et le complément automatiques des chapitres manquants.
  • Pipeline d'images : téléchargement, conversion WebP via cwebp, découpage automatique des pages de plus de 16 383 px de haut, et upload concurrent vers Cloudflare R2 avec une sauvegarde FTP et pause/reprise.
  • Système publicitaire avec réseaux, zones et emplacements, ciblage, plafonds de fréquence par utilisateur, suivi des impressions et des clics, et rapports agrégés, ainsi que la modération des commentaires et la journalisation des incidents de sécurité.
  • Liseuse Next.js 16 avec modes défilement vertical, page simple et double page, navigation au clavier, progression sauvegardée, bibliothèque, historique et commentaires en fil de discussion.

Technologies

Plateformes

Web
Laravel 12PHP 8.2PostgreSQLRedisFilament 3stancl/tenancyLaravel SanctumWebAuthn passkeysCloudflare R2cwebpNext.js 16React 19TypeScriptTailwind CSS 4TanStack QueryZustandAxiosFramer Motion

Visuels du projet

Projet suivantFilm Production Studio Landing Page→