Architettura

Questa sezione descrive l’architettura del progetto Trentino Living Atlas.

Panoramica

Il progetto è un’applicazione monolitica Django con un’architettura modulare. Le diverse funzionalità sono separate in app Django indipendenti, il che facilita la manutenzione e l’estendibilità.

App principali

Il progetto è composto dalle seguenti app Django principali:

  • `areas`: Gestisce le aree geografiche, come comuni, province e regioni.

  • `biodiv`: App principale per la gestione delle osservazioni sulla biodiversità.

  • `contact`: Gestisce i moduli di contatto.

  • `gallery`: Fornisce una galleria di immagini e documenti.

  • `map_layers`: Gestisce i layer della mappa.

  • `pages`: App Wagtail per la gestione dei contenuti, come le pagine del sito.

  • `species`: Gestisce le specie e le loro informazioni.

  • `taxonomy`: Gestisce la tassonomia delle specie.

Tecnologie

  • Backend: Django, Django REST Framework,

  • Frontend: Wagtail CMS, Leaflet, Foundation

  • Database: PostgreSQL con PostGIS

  • Caching: Redis

  • Task in background: Celery

Flusso di dati

I dati vengono raccolti da varie fonti, come osservazioni sul campo, database esterni e caricamenti manuali. Questi dati vengono quindi elaborati e archiviati nel database PostgreSQL. L’API REST espone questi dati a varie applicazioni client, come l’applicazione web principale e le applicazioni mobili.