Introduction

The module’s integration allows you to add Deep linking functionality to your website.

Business

Development

Core

Entity Definitions

The definitions in this module have id discriminators in the range 180-190.

DeeplinkUrlEntityDefinition

The DeeplinkUrlEntityDefinition extends the AbstractEntityDefinition and the AbstractNameableEntityDefinition:

asciidoctor diagram DeeplinkUrlEntityDefinition

Via the respective getter-setter pairs, the following information can be retrieved/stored in the database:

Property Description

destUrlTemplate

stores the destination url template

priority

stores the priority of this deeplink (an Integer number)

useForward

stores information if the deeplink uses forward or not

Spring Data JPA Repositories

DeeplinkUrlRepository

The DeeplinkUrlRepository extends the BaseEntityRepository and is the corresponding Spring Data JPA repository for the DeeplinkUrlEntityDefinition:

asciidoctor diagram

Business Services

DeeplinkUrlService

Among the helper functionalities, defined within the DeeplinkUrlService, are:

Description Method

to generate a short URL for the given deep link URL and the given context

generateShortUrl()

to resolve the deep link URL for the given barcode token

expandLongUrlFromToken()

Storefront

DeeplinkUrlController

The DeeplinkUrlController handles the Deeplink requests. The pattern for the HTTP request is /d/{token}. Once requested, the controller navigates the customer to the expanded deeplink

Integration

The integration with the Nemesis platform is pretty straight-forward - just add the module in your classpath:

<dependency>
    <groupId>io.nemesis.platform.module</groupId>
    <artifactId>nemesis-module-deeplink</artifactId>
</dependency>