Skip to content

System Architecture

In this section, we outline the system architecture using ER Diagrams, Software Component Diagrams etc. and key libraries / frameworks used in this project.

Frameworks Used

The following is a list, with brief descriptions, of the key components used in creating this platform. Please refer to their individual documentation for in-depth technical information.

Logo Name Notes
CKAN CKAN CKAN is an open-source DMS (data management system) for powering data hubs and data portals. CKAN makes it easy to publish, share and use data.
PostgreSQL CKAN PostgreSQL is a powerful, open source object-relational database system with over 35 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance.
pycsw Pycsw pycsw allows for the publishing and discovery of geospatial metadata via numerous APIs (CSW 2/CSW 3, OpenSearch, OAI-PMH, SRU), providing a standards-based metadata and catalogue component of spatial data infrastructures.
Docker Docker Accelerate how you build, share, and run applications. Docker helps developers build, share, and run applications anywhere — without tedious environment configuration or management.
Maplibre Maplibre Open-source mapping libraries for web and mobile app developers.
ckanext-harvest Ckanext-harvest Remote harvesting extension for CKAN.
Jenkins Jenkins It is used to continually create and test software projects, making it easier for developers and DevOps engineers to integrate changes to the project and for consumers to get a new build.
Argo Argo Argo Events is an event-driven workflow automation framework and dependency manager that helps you manage Kubernetes resources, Argo Workflows, and serverless workloads on events from a variety of source.

High-level architecture

This is the high-level system architecture relating to the interaction between the applications.

High-level architecture

CKAN Components

Data Model

The following diagram represents all of the database entities that are created by PostgreSQL. Right click the image and open it in its own tab to see it at full resolution.

ERD Note: Click on the image to open an enlarged view

For more details on the relationship between the entities, constraints and higher degree of analysis of the database, please click here