Introduction
Development
Core
Entity Definitions
The MiniCartWidgetEntityDefinition extends the WidgetEntityDefinition. The WidgetEntityDefinition
relies further on the extended AbstractEntityDefinition, AbstractActivatableEntityDefinition, AbstractCatalogableEntityDefinition, AbstractCmsEntityDefinition and AbstractFilterableEntityDefinition:

The defined here property is shownProductCount. It is designed to store the number of products that are shown in the minicart.
Spring Data JPA Repositories
The MiniCartWidgetRepository extends the ActivatableRepository and the BaseEntityRepository:

This is the corresponding Spring Data JPA repository for the MiniCartWidgetEntityDefinition
.
Facade
MapperFactoryConfigurers
The MiniCartWidgetMapperFactoryConfigurer implements the MapperFactoryConfigurer, converting the MiniCartWidgetEntityDefinition
to MiniCartWidgetDtoDefinition
:

Dto definitions
The MiniCartWidgetDtoDefinition extends the WidgetDtoDefinition, going further to the AbstractEntityDtoDefinition:

This is the corresponding Dto object for the MiniCartWidgetEntityDefinition
.
Storefront
The MiniCartWidgetRenderer extends the AbstractWidgetRenderer:

Some custom JavaScript files handle the appearance and behaviour of the minicart. They can be found at resources/META-INF/resources/resources/minicart/js/script.js