--> publish item
CreateItemUseCase: - parameters: name, description - {name: "name", description: "description"} - translate to domain item - publish CreateItemCommand
CreateItemCommandHandler: - Save Item on ItemRepository - publish domain entity events : ItemCreatedDomainEvent
CreateItemProjectionEventHandler: - publish StoreItemProjectionCommand
StoreItemProjectionCommandHandler: - Save ItemProjection on ItemProjectionRepository
--> search item projection
SearchItemProjectionQueryHandler: - query ItemProjection on ItemProjectionRepository