Arcadia SIT

About Us
Contacts
Projects
News
🇬🇧 | 🇮🇹

AlFIS Project

Albanian Forest Information System (AlFIS) for the forestry sector of the MTE is a system that aims to collect, manage and lay at disposal the information about Albanian forests and pastures. The project is supported by World Bank and developed by Arcadia SIT in collaboration with Tyto srl.

AlFIS required to design a system composed of many web applications and services, that involved different technologies with its own environment. The system required an authentication method for all modules and services, in order to centralize users' permissions. Moreover, it was requested to manage the continuous integration and continuous delivery for each application.

We designed AlFIS as a distributed containerized microservices system, each application and services are dockerized and orchestrated by OKD. This latter manages a cluster of four machines and organizes the build and deployment of the containers, it manages configurations, services and routes needed to expose the applications. In order to centralize the authentication, we use a single sign-on service: Keycloak. Keycloak allows configuring users permissions and provides a JWT token needed to authenticate on services and applications. To manage the CI/CD we implemented the pipeline on GitLab and executed on OKD specific environment.

AlFIS is spread in many modules, each with its own technology stack. We had to implement the following modules: BPM, Document, Catalogue and User Management. Two of these modules exposed a subset of functions as widgets

Modules

BPM

This module manages workflows. The users can make and resolve requests inside operative flows, they can see the full history of flows, the document attached and all the users’ interactions.

Technology involved: Vue.js, Kogito, Quarkus, Kafka, MongoDB

Document

This module stores, collects and manages files (documents, images, etc) and their metadata. The files are indexed on Apache Solr and the users can perform a full-text search on them. Widget: it allows to create a collection of documents to attach on flow tasks or gis elements.

Technology involved: Vue.js, Solr, PostgreSql, Quarkus

Catalogue

This module manages metadata information about layers used in WebGIS modules and services exposed in the system. Widget: it allows retrieval of metadata about specific layers.

Technology involved: Vue.js, PostgreSql, Quarkus, PythonCSW

User Management

This module manages users and their permissions.

Technology involved: Vue.js, Keycloak