feat: Initial implementation of Sustainability Atlas (v0.1 beta) - #6413
Open
gayanath8 wants to merge 465 commits into
Open
feat: Initial implementation of Sustainability Atlas (v0.1 beta)#6413gayanath8 wants to merge 465 commits into
gayanath8 wants to merge 465 commits into
Conversation
…ects, and registries; update localization for download prompts Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
…dologies, projects, and registries Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
…ects, and registries; update localization for download prompts
…thodologies Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
…atting options Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
…visualization and improved vintage distribution metrics Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
…page Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
feat: Enhance project service with policy graph and VC evidence retrieval
…ector breakdown in registry details page Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
…visualization and improved vintage distribution metrics
…ector breakdown in registry details page
Signed-off-by: Gayanath Ranasinghe <121780980+gayanath8@users.noreply.github.com>
Se 47 temp
…etail page Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
… tooltips Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
…ment sorting logic directly Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
…state in project data Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
…terBar Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
… improve project findAll endpoint Signed-off-by: gayanath8 <gayanathr@xeptagon.com>
… improve project findAll endpoint Signed-off-by: gayanath8 <gayanathr@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
…isplay bug Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
- Introduced a new utility function for formatting relative time in the frontend. - Implemented project boundary handling with GeoJSON support in project details. - Created a new ActivityService to manage network activity fetching and caching. - Added new API endpoints for retrieving network activity related to projects and general network events. - Established a new database schema for storing project geometries with full precision. - Enhanced the project mapper service to upsert project geometries based on incoming data. - Updated relevant DTOs and repository methods to accommodate new activity types and project geometry. Signed-off-by: gayanath8 <gayanathr@xeptagon.com>
Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
…edit schema and create date for projects Signed-off-by: gayanath8 <gayanathr@xeptagon.com>
Signed-off-by: Yathurshan Thurairajah <yathurshant@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
SE-44: fix(i18) - Implement I18 Language Localization
…stead of 'ISSUANCES'
- Introduced new endpoint to fetch distinct filter options for projects, including registries, developers, statuses, sectors, sectoral scopes, vintages, and countries. - Enhanced ProjectQueryDto to support additional filtering parameters: sector, sectoralScope, vintageRange, methodologyId, lifecycleStage, expectedIssuanceYearRange, and isPipeline. - Implemented lifecycle stage and expected issuance year calculations in a new materialized view (mv_project_lifecycle) to optimize project listing performance. - Updated PgProjectRepository to join with the new lifecycle materialized view for efficient filtering and sorting. - Created indexes on relevant fields in the business view to improve query performance for the new filters. Signed-off-by: gayanath8 <gayanathr@xeptagon.com>
…/guardian into sustainability_atlas
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
Signed-off-by: Sahan Perera <sahanp@xeptagon.com>
SE-157 - fix(ui): issues on the map and pie chart tooltips
…ized view management - Improved materialized view refresh logic in mv-refresh.processor.ts to avoid unnecessary drops and recreations, using a hash to track definitions. - Added export data cap for downloads and warning - Added Swagger design change and separate admin documentation to avoid clients exposing those urls Signed-off-by: gayanath8 <gayanathr@xeptagon.com>
…/guardian into sustainability_atlas
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Related Issues: #5815, #5824, #5827, #5823, #5822, #5820, #5818, #5817, #5826, #5831, #5825, #5819
Blockchain events are automatically translated into business concepts visible to end users.
Data from multiple registries is harmonized into the standardized schema while preserving original values.
Users can view any transaction in business-friendly tabular format showing all required fields.
The lifecycle engine connects all related events for a given project, allowing end-to-end traceability.
Built automatic event to business term translation, shown consistently on the Dashboard, Projects list, and Project lifecycle views
Built a per methodology "Decoded Mapping" engine that harmonizes raw registry specific schema fields into the canonical Project/Issuance schema, applied across all 128 methodologies and 38 registries
Preserved original registry values via "Raw Data" export links on Projects and Issuances, alongside the standardized view
Built a business friendly Issuances table (project, quantity, mint date, registry) and a Project Key Facts panel
Built a "Credit Lifecycle" widget on each Project page (Issued → Transferred → Retired → Active) with a linked Issuances table for traceability
Built an on chain provenance/relationship graph (Registry → Policy → Schema → Raw Data → Token) for end-to-end lifecycle visibility
Apart from these Sustainability Atalas have ability to directly listesning into Guardian event stream and gather those topics directly then trigger the workers to fetch the data instead of waiting
Each methodology entry shows its details, version history, and linked projects.
Implemented search by methodology name plus filters by Registry and Decode Status
Built a Methodology detail page showing Registry, Version, Schema count, Status, and description
Built a Version History tab (version number, on-chain topic, publish date, schema count, status)
Built a Linked Projects tab listing every project using that methodology, with country, registry, issuances, and status
Built a "Compare Versions" action for side-by-side version comparison
Dashboards display aggregated project data, issuance statistics, and methodology level insights.
A defined threshold mechanism exists to identify additional methodologies that qualify for dashboards in the future.
Dashboards are accessible from both the Methodology Explorer and project pages.
Built an Analytics tab per methodology with project/issuance/schema-count KPIs and a Credit Lifecycle bar
Dashboard is reachable directly from the Methodology Explorer listing (one clicks into any methodology)
Role-based default views are configured for all defined roles.
Users can save searches, follow items, receive notifications, build custom dashboards, and manage portfolios.
Implemented a two-tier role model (Administrator, Registered User) with distinct permissions
Built a User Management console for administrators to create/deactivate users and assign roles
Built self-service API key management for registered users
Implementation of self-service API rate limit increase request workflow, with an admin approval/decline screen
Developed a personalized "My Portfolio" dashboard that enables users to create a dedicated My Portfolio dashboard for personalized project monitoring and to have a watchlist for tracking selected projects.
Filtering by expected issuance year is functional.
Projected volumes are displayed for pipeline projects.
Existing Status badge component is ready to visually distinguish pipeline stage projects once such projects exist in the dataset
SDG multi-select filtering works across all search and grid views.
SDG-focused dashboard displays aggregated metrics.
Added an SDGs column and filter to the Projects list, plus a one-click SDG quick-filter chip
Established Project to SDG linkage in the data model (confirmed working for sampled projects)
Side-by-side comparison view works for 2 or more selected projects.
Aggregation summaries are available for all specified grouping dimensions.
Implemented pagination with a rows per page selector across every grid (Projects, Issuances, Methodologies, Registries)
Added a row selection checkbox column to the Projects grid
Built aggregation/summary views for Sector (Dashboard donut), SDG (SDGs page), Geography (Analytics Top Countries), Vintage (Dashboard chart), and Methodology (Registry detail donut)
Progressive (chained) filtering is fully functional.
All filter states are reflected in the URL and can be shared/bookmarked.
Preset search templates are available and functional.
Built a comparable filter bar on the Issuances list: Token Type, Registry, Mint Amount, Mint Date
Built custom Quick Filters on Projects (e.g., Gold Standard, SDG 13: Climate Action, Vintage 2022, Issuing Energy, Glycol Recycling)
Built a results count in the pagination footer (e.g. "Showing 1–10 of 37")
Users can verify the on-chain policy via external Hedera explorers.
Built an equivalent "Hedera Policy" tab on Methodology pages: Instance Policy Topic, Registry DID, Network, Published At date, and a View on HashScan link
Added a simplified "Verified on Hedera" banner with plain language description, shown alongside the full technical detail on both pages
Built a Project Pipeline section listing a full sequence of dated credential events (not just one timestamp) goes beyond the single timestamp
Added a downloadable policy package (.zip) on the Methodology's Hedera Policy tab for system users
Exported reports include structured ESG fields
Exported reports include verifiable source references
Impact summary can be generated with one click
Disclosure guidance is embedded across the platform
Only verifiable external data sources are supported for imports
Built a dedicated export toolbar on the Project's Advanced tab with "Export as IWA," "Export as CADTrust," and "Export as CDOP" named exports mapped to specific external compliance/registry formats
Built a pervasive tooltip icon convention on nearly every metric and field label across the Dashboard, Project, and Methodology pages
Implemented a centralized Reports & Export module that enables users to generate configurable ESG data exports in multiple formats such as CSV, Microsoft Excel (XLSX) and PDF.
Users can navigate to or view the policy details from the project/methodology page.
Built a "Policy Flowchart" on the Project's Advanced tab a rendered, in-Indexer visualization of the policy's authored document/action workflow
Added a "Policy JSON" button (Project) and a "Download policy package (.zip)" action (Methodology) for the full underlying policy definition
Interactive charts are functional for all four visualization types.
YoY trend indicators are displayed alongside metrics.
Built a Project Distribution map, Sector and Registry breakdown donut charts, and a Top Registries table
Built three interactive charts with Monthly/Quarterly/Yearly toggles: Issuance Trend, Retirement Trend, and Vintage Distribution
A table viewer allows exploration of MRV data with filtering, sorting, and device-level drill-down.
Data lineage from MRV input to credit issuance output is navigable.
A full table viewer lists all dMRV records with columns for End Timestamp, Start Timestamp, Device, and Raw data access.
Filters are available for Device / Measurement Point and Date Range.
Sorting is enabled on both End Timestamp and Start Timestamp columns (toggle arrows).