Home

Awesome

National Climate Transparency Tool

<a name="about"></a>

GitHub last commit SparkBlue Chat

The National Climate Transparency Tool is your gateway to ensure robust Measurement, Reporting and Verification (MRV) toward the Enhanced Transparency Framework (ETF) and to accelerate implementation of the Nationally Determined Contribution (NDC).

In an era where climate action is not just an aspiration but a responsibility, the National Climate Transparency System is a tool to support the country's uncompromising commitment towards environmental stewardship. This module is an integral part of our open-source software ecosystem, to support countries in easing the process of developing national data management systems for NDC tracking, GHG inventory data management and Biennal Transparency Reporting (BTR). The interface co-designed with countries, coupled with a robust backend ensures that managing complex climate data becomes a seamless experience, fostering a culture of transparency and accountability.

By employing the National Climate Transparency tool, countries can effortlessly align their climate actions with international standards, ensuring a harmonized approach towards a sustainable future. The tool is engineered to provide a clear lens into the progress and impact of NDC actions, making compliance with international commitments and national institutional arrangements a streamlined process. This Digital Public Good codebase envisions to encapsulate the essence of effective climate action management, which countries can configure, adapt and build on to meet national circumstance.

The system has 3 key features, and to be uploaded by the third quarter of 2024.

Index

Below contents are planned to be updated by the third quarter of 2024 based on user feedback and recent change in international requirements.

<a name="standards"></a>

Standards

This codebase aims to fulfill the Digital Public Goods standard, adheres to the UNDP Data Principles, and it is built according to the Principles for Digital Development.

<a name="architecture"></a>

System Architecture

alt text

<a name="deployment"></a>

Deployment

System services can deploy in 2 ways.

External Service Providers

All the external services access through a generic interface. It will decouple the system implementation from the external services and enable extendability to multiple services.

File Service

Implemented 2 options for static file hosting.

  1. NestJS static file hosting using the local storage and container volumes.
  2. AWS S3 file storage.

Can add more options by implementing file handler interface

Change by environment variable FILE_SERVICE. Supported types are LOCAL (default) and S3.

<a name="structure"></a>

Project Structure

.
├── .github                         # CI/CD [Github Actions files]
├── deployment                      # Declarative configuration files for initial resource creation and setup [AWS Cloudformation]
├── backend                         # System service implementation
    ├── services                    # Services implementation [NestJS application]
        ├── src
            ├── national-api        # National API [NestJS module]      
            ├── stats-api           # Statistics API [NestJS module]
            ├── async-operations-handler   # Async Operations Handler [NestJS module]     
        ├── serverless.yml          # Service deployment scripts [Serverless + AWS Lambda]
├── web                             # System web frontend implementation [ReactJS]
├── .gitignore
├── docker-compose.yml              # Docker container definitions
└── README.md

<a name="container"></a>

Run Services As Containers

<a name="local"></a>

Run Services Locally

Follow same steps mentioned above to run the services locally using docker.

<a name="cloud"></a>

Deploy System on the AWS Cloud

aws cloudformation deploy --template-file ./deployment/aws-formation.yml --stack-name ndc-transparency-basic --parameter-overrides EnvironmentName=<stage> DBPassword=<password> --capabilities CAPABILITY_NAMED_IAM
aws lambda invoke \
    --function-name ndc-transparency-services-dev-setup --cli-binary-format raw-in-base64-out\
    --payload '{"rootEmail": "<Root user email>","systemCountryCode": "<System country Alpha 2 code>", "name": "<System country name>", "logoBase64": "<System country logo base64>"}' \
    response.json

<a name="modules"></a>

Modules

UNDP Platform for Voluntary Bilateral Cooperation

UNDP Platform for Voluntary Bilateral Cooperation generation is implemented in a separate node module. Please refer this for more information.

<a name="frontend"></a>

Web Frontend

Web frontend implemented using ReactJS framework. Please refer getting started with react app for more information.

<a name="localization"></a>

Localization

For updating translations or adding new ones, reference https://github.com/undp/national-climate-transparency/tree/main/web/src/locales/i18n

<a name="api"></a>

API (Application Programming Interface)

For integration, reference RESTful Web API Documentation documentation via Swagger. To access

<a name="resource"></a>

Resource Requirements

ResourceMinimumRecommended
Memory4 GB8 GB
CPU4 Cores4 Cores
Storage20 GB50 GB
OSLinux <br/> Windows Server 2016 and later versions.

Note: Above resource requirement mentioned for a single instance from each microservice.status.APP_URL

<a name="status"></a>

Status Page

Coming soon...

<a name="manual"></a>

User Manual

Coming soon...

<a name="demo"></a>

Demonstration Video

Coming soon...

<a name="data"></a>

Data Sovereignty

The code is designed with data sovereignty at its core, empowering nations and organizations to have greater control and governance over their environmental data. Here are the key points highlighting how this system promotes data sovereignty:

By integrating these features, the code significantly contributes to achieving data sovereignty, promoting a more localized and accountable management of environmental data in line with the goals of the Paris Agreement.

<a name="support"></a>

Governance and Support

Digital For Climate (D4C) is responsible for managing the application. D4C is a collaboration between the European Bank for Reconstruction and Development (EBRD), United Nations Development Program (UNDP), United Nations Framework Convention on Climate Change (UNFCCC), International Emissions Trading Association (IETA), European Space Agency (ESA), and World Bank Group that aims to coordinate respective workflows and create a modular and interoperable end-to-end digital ecosystem for the carbon market. The overarching goal is to support a transparent, high integrity global carbon market that can channel capital for impactful climate action and low-carbon development.

This code is managed by United Nations Development Programme as custodian, detailed in the press release. For any questions, contact us at digital4planet@undp.org.