# Entando Component Generator

The Entando Component Generator, powered by JHipster, is a tool that quickly generates Entando components to extend an Entando Application.

The Component Generator leverages the JHipster blueprint (opens new window) to provide powerful templating and standard generation patterns.

# Objectives

The Component Generator has two main objectives, acceleration and standardization, which are examined below in greater detail.

# Accelerate Development

  • Begin with running software: By automating the creation of microservices and micro frontends, the developer is able to bypass the manual steps that would have been required to build the default configuration of an Entando project.
  • Customize as desired: The generated code is ready to be further developed and modified to enable features and capabilities.
  • Avoid a learning curve: The Entando Blueprint uses standard tools, technologies, and patterns that can be consumed by developers who are not familiar with the underlying technology.

# Standardize Technology

  • Guarantee technology compliance: The Component Generator encodes business standards for networking, monitoring, build tools, and distribution into the Entando Blueprint to ensure that business requirements are satisfied.
  • Guarantee internal compliance: The Entando Blueprint provides parameters to ensure the code complies with standards and practices of your organization including formatting, testing tools, static analysis tools, and package structures.
  • Jumpstart 3rd party adoption: Teams can quickly recognize and adopt code from system integrators and other third parties because these patterns and standards are encoded into the default application.

# Generated Component Flow

The following provides an overview of the component generation process. To view the code and learn how to use the Entando Blueprint, refer to the Entando Component Generator Tutorial.

  1. Create components

    • The Component Generator creates a Spring Boot microservice and, optionally, React micro frontends for entities that you add to your project.
    • The microservice and (optional) micro frontends are out-of-the-box runnable and preconfigured to connect to the Entando Identity Management System.
    • JHipster offers interactive updates and merges to ensure the Entando Blueprint conforms to the current software revision. Developers can perform their own modifications to enhance the generated code or add new functionality via JHipster.
    • The microservice includes Liquibase and integrated data mocking to offer data generation in API calls.
  2. Define the bundle and deploy assets

    • The Entando Blueprint generates code compatible with the docker-based bundle project structure introduced in Entando 7.1. The bundle project includes a microservice and entity-level microfrontends as well as other components added manually to the project.
    • The bundle project is packed into a Docker image to provide the manifest for the components contained in the project.
    • The Spring Boot microservice is packed into its own Docker image.
  3. Deploy bundles to the Local Hub

    • Once the Docker images are pushed to a registry, the bundle can be deployed to the Local Hub in an Entando Application.
    • Production bundles are installed to the Local Hub as a default of the Entando Component Manager. This is determined by the tag types and for more information, see the Entando Component Manager features.
    • The bundle project can be versioned and updated at any time.
  4. Install in Entando Apps

    • Once the bundle is deployed to the Local Hub, it can be installed in the Entando Application.