Skip to main content

General Overview

The application is composed of two main blocks:

  • Frontend Blazor .NET9
  • API .NET9

The APIs connect to Imagonist via REST APIs and manipulate objects to extract only the necessary data for the frontend. They also provide configuration content for each instance, stored in the Redis database.

General Guidelines

  • All texts and contents are configured in Redis or retrieved from the Imagonist menu: for the former, you can locate the origin by inspecting the HTML and reading the value of the data-sectionfield attribute.
  • All properties in the configuration JSONs follow the camelCase naming convention.
  • Redis DB keys are written using the snake_case naming convention.
  • For main product images, a placeholder image is inserted if the received image is missing or invalid. You can find the original image URL by inspecting the HTML and checking the data-originalSrc attribute.

Basic Configuration

To work correctly, the system requires two fundamental generic configurations to be inserted in Redis database 0.


Tenants

Contains the addresses and names of configured instances, used to customize the frontend based on the call’s origin URL.

Field Description

FieldDescriptionType
idUnique identifier of the tenantguid / uniqueidentifier
slugHuman-readable identifier of the tenant, used to structure Redis DBstring
nameDescriptive label of the tenant, appears in the page titlestring
urlBase URL of the instancestring
iconUrlFavicon image URLstring

Example JSON

[
{
"id": "d44fbcdd-a03f-4664-93b8-fc2336f8bc88",
"name": "ImagonistShop Debug",
"slug": "imagonist-shop-debug",
"url": "https://localhost:7285",
"iconUrl": "https://icon.png"
},
{
"id": "a894911b-65e8-4388-a997-a91a25767eb5",
"name": "Test",
"slug": "imagonist-shop-test",
"url": "https://imagonistshop.3sd.dev",
"iconUrl": "https://icon.png"
},
{
"id": "3b46751f-2acf-4fcd-bbeb-6cfd4676fd6",
"name": "Prod",
"slug": "imagonist-shop",
"url": "https://imagonistshop.timeware.it",
"iconUrl": "https://icon.png"
},
{
"id": "dcb295d9-8266-44f1-b30a-01c787ce2732",
"name": "ECommerce",
"slug": "ecommerce",
"url": "https://ecommerce.3sd.dev",
"iconUrl": "https://icon.svg"
}
]

Cultures

Contains the list of available system languages.

Field Description

FieldDescriptionType
slugISO 2-character identifierstring
cultureInfoCodeISO 3166-1 alpha-2 codestring
labelLabelstring
numberGroupSeparatorThousands separatorstring
currencyGroupSeparatorThousands separator for currency valuesstring
isDefaultIndicates the default language to use if not specified in inputboolean

Example JSON

[
{
"slug": "it",
"cultureInfoCode": "it-IT",
"label": "Italiano",
"numberGroupSeparator": ".",
"currencyGroupSeparator": ".",
"isDefault": true
},
{
"slug": "en",
"cultureInfoCode": "en-US",
"label": "English",
"numberGroupSeparator": ",",
"currencyGroupSeparator": ","
}
]