Media & migration·2026

Qazaq Gazetteri — a holding of 13 publications

Migrating the “Qazaq Gazetteri” publishing holding from legacy Laravel 7.30 to a unified multi-tenant platform on Next.js 16 + NestJS 11. A single application serves 13 publications (Ana tili, Aqiqat, Aq Jelken, Baldyrgan, Ulan, Mysl, Uigur Avazi and more) via dynamic Host-header routing with individual branding and settings per subdomain.

Next.jsNestJSTypeScriptPostgreSQLPrismaRedisDocker
Qazaq Gazetteri — a holding of 13 publications

Project goals

  • Migrate the holding’s 13 publications from legacy Laravel 7.30 onto one platform
  • Serve all subdomains from a single application via the Host header
  • Give each publication its own branding, themes and navigation
  • Support multilingual content (Kazakh, Russian, Uyghur)

Tasks

  • Design a multi-tenant model with a shared news pool
  • Implement Host-based routing for 13 subdomains in one Web container
  • Store per-subdomain settings in the database with a Redis cache
  • Build hierarchical rubrics with visual customization
  • Implement filtering, pagination and a publishing workflow
  • Introduce auditing and real-time updates over WebSocket
  • Deploy via Docker/Dokploy behind a reverse proxy (Nginx/Caddy)

Results

Measurable performance indicators

  • 13 publications on one platform instead of legacy Laravel 7.30
  • All subdomains routed from a single application by Host
  • Individual branding and settings for each publication
  • Multilingual content: Kazakh, Russian and Uyghur
  • A shared news pool with per-edition data isolation

Key metrics

Specific performance indicators of the project

13

Publications on the platform

13

Subdomains

3

Content languages

Laravel → NestJS

Migration stack