Funzionamento generale
L'applicativo è composto da due blocchi principali:
- Frontend Blazor .NET9
- API .NET9
Le API si collegano ad Imagonist tramite API REST e manipolano gli oggetti per estrarre solo il necessario per il frontend. Si occupano inoltre di fornire i contenuti di configurazione di ogni istanza salvati nel database Redis.
Indicazioni generiche
- Tutti i testi e i contenuti sono configurati nel Redis o presi dal menu Imagonist: per i primi è possibile localizzarne l’origine ispezionando l’HTML e leggendo il contenuto dell’attributo
data-sectionfield. - Tutte le proprietà nei JSON di configurazione sono scritte con convenzione di nomenclatura
camelCase. - Le chiavi del DB Redis sono scritte con convenzione di nomenclatura
snake_case. - Per le principali immagini dei prodotti viene inserita un’immagine di placeholder se l’immagine ricevuta è mancante oppure non valida: è possibile trovare l’indirizzo dell’immagine originale ispezionando l’HTML e leggendo il contenuto dell’attributo
data-originalSrc.
Impostazioni base
Perché il sistema funzioni occorrono due configurazioni generiche fondamentali, che vanno inserite nel database 0 di Redis.
Tenants
Contiene gli indirizzi e i nomi delle istanze configurate, in modo da personalizzare il frontend in base all’URL di provenienza delle chiamate.
Descrizione campi
| Campo | Descrizione | Tipo |
|---|---|---|
id | identificativo univoco del tenant | guid / uniqueidentifier |
slug | identificativo human readable del tenant, usato per strutturare il db Redis | stringa |
name | etichetta descrittiva del tenant, viene inserita nel titolo della pagina | stringa |
url | Indirizzo URL di base dell'istanza | stringa |
iconUrl | URL immagine favicon | stringa |
JSON di esempio
[
{
"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": "Production",
"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
Contiene le lingue di sistema disponibili.
Descrizione campi
| Campo | Descrizione | Tipo |
|---|---|---|
slug | identificativo ISO 2 caratteri | stringa |
cultureInfoCode | codice ISO 3166-1 alpha-2 | stringa |
label | etichetta | stringa |
numberGroupSeparator | separatore di migliaia | stringa |
currencyGroupSeparator | separatore di migliaia per le valute | string |
isDefault | indica la lingua da usare di default in caso non sia specificata in ingresso | booleano |
JSON di esempio
[
{
"slug": "it",
"cultureInfoCode": "it-IT",
"label": "Italiano",
"numberGroupSeparator": ".",
"currencyGroupSeparator": ".",
"isDefault": true
},
{
"slug": "en",
"cultureInfoCode": "en-US",
"label": "English",
"numberGroupSeparator": ",",
"currencyGroupSeparator": ","
}
]