Skip to content
HL
Available
Project / webprototype

Multi-Tenant E-Book Reading Platform

Multi-tenant Laravel content API, import pipeline and image processing, plus a Next.js e-reader

I built a multi-tenant content backend for digital book and comic reading sites in Laravel 12. Each tenant site is identified by its domain and shares one central catalog of series, chapters and pages, while users, comments, ratings and reading progress stay separate per tenant. Around it I built parallel import workers with missing-chapter detection, an image pipeline that converts pages to WebP and uploads them to Cloudflare R2 with an FTP backup, an ad-serving system, and a Filament admin with passkey sign-in. I also built the Next.js 16 e-reader front end that consumes the API, with JWT sign-in, a personal library, reading history and threaded comments.

Highlights

  1. 01Domain-based multi-tenancy: one shared catalog, with users, library, reading progress, ratings and comments kept per tenant, and rotatable, prefix-masked tenant API keys.
  2. 02Parallel import workers with a configurable worker count (default 32, capped at 200), activity timeouts and a benchmark command, a fallback source matched by fuzzy title, and automatic detection and filling of missing chapters.
  3. 03Image pipeline: download, WebP conversion via cwebp, auto-splitting of pages taller than 16,383 px, and concurrent upload to Cloudflare R2 with an FTP backup and pause/resume.
  4. 04Ad system with networks, zones and units, targeting, per-user frequency caps, impression and click tracking, and aggregated reports, plus comment moderation and security-incident logging.
  5. 05Next.js 16 e-reader with vertical scroll, single-page and double-page modes, keyboard navigation, saved progress, library, history and threaded comments.

Stack