GISMart
Cette fiche résume la valeur, le pricing et les cas d’usage. Depuis ici, vous pouvez accéder aux espaces dédiés ou au portail client pour l’action suivante.
GISmart e' il layer di abilitazione geospaziale che rende location-aware qualsiasi software gestionale (ERP, CRM, logistica, asset management) tramite API multi-tenant, senza bisogno di competenze GIS o di un GIS desktop dedicato.
Ce que cela résout
- I gestionali salvano indirizzi ma non sanno mostrare i record su mappa ne' interrogarli per area o distanza.
- Aggiungere intelligenza geografica richiede competenze GIS specialistiche e SQL spaziale che i team non hanno.
- Analisi commerciali e operative (territori, coperture, cluster, heatmap) restano manuali o impossibili senza uno strato spaziale.
- Import/export massivi di dati georeferenziati e integrazioni con provider esterni (geocoding, routing, meteo) sono onerosi da costruire da zero.
Cosa fa
GISmart e' un backend e uno strato di integrazione che porta l'intelligenza
geografica dentro il software gestionale esistente, senza sostituirlo. Espone API
REST multi-tenant, workspace operativi via browser e servizi di supporto,
permettendo a un'applicazione di linea di business di rendere i propri dati
"location-aware" con poche chiamate.
Il modello dati e' volutamente generico: ogni record e' una business_entity
identificata da un entity_type (ad esempio customer, warehouse,property, plant, service_point), da coordinate o geometria e da metadata
liberi per gli attributi di dominio. Questo consente di riusare lo stesso nucleo
GIS per vendite, logistica, fornitori, utility, real estate e asset management.
| Modulo | Ruolo |
|---|---|
core |
API e servizi GIS generici: entita', layer, service zone, analytics spaziale, bulk I/O |
admin |
Gestione tenant, utenti, ruoli, permessi, token, audit e job |
sales |
Verticale commerciale: lead, opportunita', clienti, territori, fornitori, KPI |
logistics |
Verticale operativo GIS-first: magazzini, veicoli, consegne, carichi |
suppliers |
Rete fornitori: directory, coperture, monitoraggio rischio, KPI procurement |
utilities |
Import confini amministrativi, join spaziali, diagnostica dataset |
mobile |
Autenticazione e sincronizzazione task per operatori sul campo |
Funzionalita' chiave
- Geocoding di indirizzi con provider selezionabile (Nominatim, mock, modalita'
autocon fallback). - Storage spaziale su PostGIS con output GeoJSON pronto per mappe browser (Leaflet).
- Ricerca "nearby" e query per area/distanza senza scrivere SQL spaziale.
- Analytics spaziale backend: clustering, DBSCAN, density grid, heatmap, overlap e coverage gap delle service zone.
- Query temporali sulla storia delle posizioni delle entita' e playback dei movimenti.
- Join spaziale automatico ed enrichment delle entita' con zona piu' vicina e ultima posizione.
- Routing, matrice delle distanze e isocrone (provider
geodeticoffline-safe oppure OSRM). - Servizi di enrichment meteo (per punto) ed economici a livello di area (mock o World Bank).
- Import/export massivo di entita' in CSV, JSON, XLSX e SQL, con preview e proiezione su mappa.
- Widget JavaScript embeddable per montare una mappa dentro applicazioni di terze parti.
- Workspace browser pronti all'uso (dashboard sales/logistics/suppliers, GIS studio, GIS analytics, IO studio, admin center, provider center).
Architettura
Stack Python 3.12+ basato su FastAPI, SQLAlchemy 2 e GeoAlchemy2, con PostgreSQL +
PostGIS come unico database spaziale. Il sistema di coordinate canonico esterno e'
WGS84 (EPSG:4326) con payload GeoJSON per il rendering frontend. Un layer di
astrazione provider gestisce geocoding, routing, meteo, economia e discovery OIDC
con retry, circuit breaker in-memory e cache opzionale via Redis. Le operazioni
lunghe (bulk import, enrichment, connector, compliance) sono delegate a background
job su coda database, con worker e scheduler dedicati; Redis e' opzionale con
fallback automatico al backend database. L'architettura e' multi-tenant con
sicurezza, audit e governance come concetti di prima classe: token API
tenant-scoped (Bearer), permessi per ruolo, webhook firmati HMAC SHA-256 e
hardening OIDC/OAuth2 per la produzione. Osservabilita' inclusa via endpoint
Prometheus /metrics, request-id di correlazione e stack opzionale
Prometheus/Grafana/Alertmanager.
Requisiti
- Python 3.12+ come runtime dell'API.
- PostgreSQL con estensione PostGIS abilitata (database
gismart, scriptsql/init.sql). - Dipendenze principali: FastAPI, Uvicorn, SQLAlchemy 2, GeoAlchemy2, psycopg 3, openpyxl, PyJWT, Alembic.
- Redis opzionale (coda/cache) via
GISMART_REDIS_URL, con fallback automatico al database. - Distribuzione flessibile: Docker/docker-compose, installer Windows (Inno Setup) o shell desktop Electron con Chromium integrato.
- Provider esterni opzionali per geocoding (Nominatim), routing (OSRM), meteo ed economia (World Bank).
Conformité et réglementations
Regolamento UE 2016/679 - protezione dati
Copertura baseline: policy di retention configurabile su audit event e background job, anonimizzazione delle entita', export dati soggetto e report firmati. Non e' una certificazione, ma uno strato operativo a supporto della conformita'.
Rapports et dossiers
- Report di compliance firmatoJSON firmato (HMAC)
Genera un report di conformita' con firma opzionale per audit e governance dei dati.
- Export massivo entita'CSV, JSON, XLSX, SQL
Esporta le business entity filtrate per backup, migrazione o richieste di portabilita' dati.
- Export join confini amministrativiGeoJSON
Esporta il risultato del join spaziale tra entita' e confini amministrativi importati.
- Audit event logJSON (API)
Traccia le azioni amministrative tenant-scoped per revisione e conformita'.
Cas d’usage
Rete vendita resa geografica
Un'azienda con CRM esistente integra GISmart per mostrare clienti e fornitori su mappa, assegnare territori e individuare clienti scoperti senza referente o area, generando heatmap e analisi di copertura per la forza vendita.
Logistica di consegna ottimizzata
Un operatore logistico usa il modulo logistics per georeferenziare magazzini, veicoli e consegne, individuare consegne non assegnate, bilanciare il carico per magazzino e pianificare percorsi con matrice distanze e isocrone.
