SoloDB Documentation Version 1.0 Help

Architecture

SoloDB is a PHP monolith built on Laminas MVC and Doctrine ORM. Domain modules live in module/<name> and normally contain configuration, entities, controllers, services, repositories, search documents, forms, views, and tests.

Request and configuration flow

public/index.php boots the Laminas application. config/application.config.php enables framework and domain modules, then merges global configuration from config/autoload with a host profile from config/<host>. Production requests can use module and configuration caches under data/cache.

Routes select controllers, controllers delegate domain work to services, Doctrine persists entities, and Twig renders the response. Route and entity assertions enforce access. Searchable entities publish Solr documents; many updates are queued through Messenger and Redis rather than indexed in the request.

Shared infrastructure

  • Database: Doctrine ORM persistence and migrations/schema tooling.

  • Solr: entity search, facets, and list filtering.

  • Redis: cache and Messenger transports.

  • Workers: queued search, mail, export, and application messages.

  • Object storage: exported Parquet/Excel data and reporting artifacts, depending on host configuration.

  • Frontend: TypeScript sources under typescript/, compiled into browser assets.

Template maps are generated from module and style Twig directories by bin/generate_templatemaps; do not maintain them by hand.

19 July 2026