Open Collective
Open Collective


Framework and tools for transforming entities into code across your entire enterprise application.


EntityC is all of us

Our contributors 1

Thank you for supporting EntityC.


The Entity Compiler provides a language to model entities in your enterprise application along with a compiler and template engine to synthesize code responsible for the storage, transfer and management of data relating to those entities.

The entities are specified in an implementation agnostic way, you then apply templates that synthesize the entities to code. You can write your own templates or use templates shared by others via a Github repository.

Project Goals

The initial goal of the Entity Compiler is to allow an organization to standardize on a representation of the entities used in the organization and then provide the tools for each team in the organization to synthesize those entities (using templates) to their code base. This gives product features an even playing field across server and client components of the organization's enterprise application. The initial goals are:

  • Standardization of entity representation
  • Entity definitions under source management (currently `git` is supported) and accessible by all teams.
  • Allow each team in an organization to develop their own templates or share common templates also stored under source management and accessible by all teams.
  • Promote collaboration across all teams of a larger enterprise application.
  • Primarily targets the data layer of the enterprise application (typically boilerplate - not fun to write code) freeing up developers to spend time writing the business logic (the fun stuff).
  • As an organization builds a library of templates,  building the systems those templates target is much much faster. For instance, if you construct a set of templates to build a microservice, creating a second microservice based on different entities is extremely fast.

The ultimate goal of the Entity Compiler is to allow the sharing of templates and even entities across the industry.

  • Faster adoption of technology and standards. Open source projects that wish to promote their standard (e.g., Spring Boot, Quarkus, Django, Flask, etc.) would provide Entity Compiler templates that would allow a potential adopter to quickly synthesize a starting point for their project based on that standard.
  • Promotes collaboration between teams across the industry.

Most of all, the goal of this project is to bring together people that share a vision of putting entities at the top of an organization's enterprise while also accelerating development through a synthesis of entities to code.

The Entity Compiler, support libraries and tutorials are available on Github under the EntityC organization.

Our team