Skip to content

Lodex v16 Architecture

Thiery Michel edited this page Dec 5, 2025 · 8 revisions

Software Architecture

Packages

Lodex v16 has been split into multiple packages in order to provide better maintainability by separating front / admin (following Separation of Concern principles). There are two types of packages: applications and common packages:

Applications

  • API (packages/api): contains the server code for Lodex
  • Admin (packages/admin-app): contains admin app
  • Public (packages/public-app): contains user-facing application
  • Tenant Configuration (packages/root-admin-app): contains the app that allows to configure tenants

Common Packages

  • packages/common: contains code used by API and front applications
  • packages/frontend-common: contains shared-code used by frontend and admin app
  • packages/ezsLodex: contains the built-in EZS extensions for Lodex
  • packages/transformers: contains the built-in transformers used by API
  • packages/workers: contains built-in workers (loaders, precomputers, exporters...) used by API

Environments

Development Environment

Lodex V16 has been migrated to TypeScript for type safety and better detection of errors during build. The bundler was also updated to use Vite instead of babel to fasten builds.

The development environment starts one Vite instance to serve front end applications (public, admin, tenant configuration) and serve the API using tsx in watch mode.

Production Environment

In production environment, all applications are pre-built using Vite and served by API using SSR for public application and static serving for other apps (admin and tentn configuration).

Lodex Configuration

Enrichers

The enricher catalog is available in the same file as Lodex v15: src/app/custom/enrichers/enrichers-catalog.json

Precomputers

The precompute catalog is available in the same file as Lodex v15: src/app/custom/precomputers/precomputers-catalog.json

Themes

Lodex themes are stored in the same directory as Lodex v15: src/app/custom/themes.

Custom Configuration

Lodex v16 still supports custom configuration paths from Lodex v15

  • /app/src/app/custom/exporters/
  • /app/src/app/custom/routines/
  • /app/src/app/custom/loaders/

Clone this wiki locally