Use Case: ELV Recycling

End-of-Life Vehicle (ELV) recycling is a critical area in sustainability, presenting complex challenges for managing data, approvals, and certifications.

Overview

End-of-Life Vehicle (ELV) recycling is a critical area in sustainability, presenting complex challenges for managing data, approvals, and certifications. The DOVU Template Language provides a lightweight yet powerful way to address these challenges by modeling workflows that integrate seamlessly with third-party systems like the Hedera Hashgraph Guardian.

In this use case, we illustrate how the template language simplifies the ELV recycling process by defining roles, actions, and approvals while ensuring traceability and interoperability.

Find out more by reading our case study on DOVU.earth.

An example configuration

Below, you can see the configuration that we used to model data or more specifically model the actual process for managing the entire project.

One of the exciting features about this configuration is that it is data and schema agnostic, so that any process that uses three stages of data ingestion, followed by approvals can be consumed by simply duplicating this configuration for a given use case.

;; EXPERIMENTAL (DOVU OS) Configuration Language v0.0.2
;;
;; Minimise cost for getting credits to market through a simple and repeatable template process.
;;
;; Encapsulate the overarching process of how credits are created and managed, use this process to branch
;; for specific methodologies.
;;
;; This is an example template that would encapsulate policies for a particular registries
;; The goal here would be to describe how a policy process can be navigated where the schema don't matter
[
    {
        :role :supplier
        :tag :create_ecological_project
        :type :data
        :key :create-project
    }
    {
        :role :owner
        :require {
           :status :waiting
        }
        :filter {
            :tag :supplier_grid_filter
            :key :uuid
        }
        :source_tag :supplier_grid
        :tag :approve_supplier_btn
        :options [
            :approve.template
            :reject.template
        ]
        :type :approval
        :key :approve-project
    }
    {
        :role :supplier
        :require {
            :status :approved
        }
        :tag :create_site_form
        :source_tag :create_site_form
        :type :data
        :key :register-site
    }
    {
        :role :owner
        :require {
           :status :waiting
        }
        :filter {
            :tag :site_grid_owner_filter
            :key :uuid
        }
        :source_tag :approve_sites_grid
        :tag :approve_site_button
        :options [
            :approve.template
            :reject.template
        ]
        :type :approval
        :key :approve-site
    }
    {
        :role :supplier
        :require {
           :status :approved
        }
        :tag :create_claim_request_form
        :filter {
            :tag :site_grid_supplier_filter
            :key :uuid
        }
        :source_tag :sites_grid
        :type :data
        :key :create-claim
    }
    {
        :role :verifier
        :require {
           :status :waiting
        }
        :filter {
            :tag :claim_request_verifier_filter
            :key :uuid
        }
        :source_tag "claim_requests_grid(verifier)"
        :tag :approve_claim_requests_btn
        :options [
            :approve.template
            :reject.template
        ]
        :type :approval
        :key :approve-claim
        :hooks [
            {
                :action :audit_trail
                :async {
                     :wait 5 ;; seconds
                     :retries 10
                 }
                :field :uuid
            }
            {
                :action :asset_provenance
                :async {
                    :wait 30
                    :retries 25
                }
                :field :uuid
            }
        ]
    }
]

Last updated