Skip to main content

Low Level Design

Introduction

About Drought-map Hub

The Eswatini DroughtMap Hub is a collaborative effort between the National Drought Management Center of Eswatini, the Ministry of Agriculture, and the Eswatini Meteorological Service. This platform is designed to provide a streamlined and user-friendly interface for validating, publishing, and exploring Combined Drought Indicator (CDI) products, enhancing the country's drought monitoring capabilities by enabling efficient data management and promoting public access to critical information.

The platform is structured into two key areas, catering to both administrative and public needs. The Admin Area is dedicated to authorized users who play a vital role in ensuring the accuracy and reliability of the CDI products. In this section, users can review and validate the outputs generated by CDI scripts, engage in collaborative discussions to assess data quality and address any inconsistencies, and approve and prepare validated datasets for public release. By maintaining robust data validation protocols, the Admin Area ensures that only high-quality, reliable information is made available to the public.

The Public Area serves as the platform’s primary interface for open access to CDI data. It is designed to be intuitive and engaging, allowing users of all backgrounds to explore comprehensive drought-related datasets, gain insights into drought trends and patterns, and utilize the data for research, planning, and decision-making purposes.

By bridging the gap between data generation and public accessibility, the Eswatini DroughtMap Hub empowers stakeholders, policymakers, and communities to make informed decisions for mitigating the impacts of droughts. This platform embodies a commitment to transparency, collaboration, and resilience in the face of environmental challenges.

The Purpose of Drought-map Hub

The purpose of the DroughtMap Hub is to provide a user-friendly interface to validate, publish, and browse CDI products.

Functional Overview

 

Automation / Jobs

Home Page

Data Approval

User Access Control

Data Visualisation and Maps

User Workflow

Account Creation

 

Data Monitoring

Data Forecasting

Architecture

Class Functions

User Roles

Class Overview

Database Overview

Main Tables

Relationship Diagrams

Sequence Diagrams

Data Flow Diagrams

High-Level Architecture Overview

1. Front-end (NextJS)

2. Back-end (Django)

3. Database (PostgreSQL)

4. Container Orchestration

5. CD/CI Pipeline

6. Jobs

Security and Stability Considerations

Database Design

1. Users Table

2. Administrations Table

3. Data Table

4. Data Details Table

5. Data Comments Table

API Design

1. User API

2. Data API

3. Comments API

4. Data Approval API

Data Storage

1. Static Maps

2. CDI Output

Error Handling

1. Application

2. CDI Jobs

Data Flow Diagrams

Testing

Deployment Strategy

Considerations

Design Considerations

Performance Considerations

Documentation References

Swagger

Read the Docs

DBDocs