Initializr
An Initializr jumpstarts .NET development by generating projects based on project metadata. Metadata may include, among other properties, a project name, a namespace, and a list of dependencies. At the core of an Initializr is the InitializrService. InitializrService provides several REST/HTTP endpoints, which includes an endpoint to generate projects, and an endpoint to provide smart clients the metadata needed to construct user interfaces.
It is possible to have a fully functioning Initializr deployment by simply deploying the InitializrService. A more user-friendly deployment may include a user interface, such as a web frontend or an IDE plugin. A deployment may also leverage a Spring Cloud Config Server to access a configuration store. As an example, the Steeltoe Initializr deployment includes InitializrWeb for a friendly user experience and a Spring Cloud Config Server using a GitHub-maintained configuration.
InitializrWeb is the reference UI for the Steeltoe Initializr and is an example of a smart client. It uses project metadata from the InitializrService to populate its web controls with, for example, supported .NET target frameworks and Steeltoe versions.