Service
Custom Drupal applications
What you get
- Domain model as custom content entities
- Services-first architecture shared by UI and API
- Per-entity access control
- HTTP API over the same services
- Administrative UI and reporting
- End-user documentation
Drupal is a good content management system and an underrated application framework. Entities, fields, access control, revisions, translation, queues, a permission system and an admin UI are all there before you write a line — which matters when the thing you are building is a scheduling system or a billing engine rather than a set of pages.
The discipline that makes it work is refusing to model everything as nodes. Custom content entities, thin controllers, and one service layer shared by the interface and the API, so the two cannot drift apart.
Zeno Studio is our own proof of this: a multi-tenant studio-management platform, fifteen custom modules, twenty-eight custom entities, no nodes.
Questions we get asked
When the application also has a content side — public pages, editors, multilingual, media — Drupal saves you building two systems and integrating them. When it genuinely does not, a framework may be the better answer, and we will say so.