-
Notifications
You must be signed in to change notification settings - Fork 15
Lodex v16 Architecture
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:
- 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
-
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
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.
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).
The enricher catalog is available in the same file as Lodex v15: src/app/custom/enrichers/enrichers-catalog.json
The precompute catalog is available in the same file as Lodex v15: src/app/custom/precomputers/precomputers-catalog.json
Lodex themes are stored in the same directory as Lodex v15: src/app/custom/themes.
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/