Skip to content

Repair-Reuse-Recycle Toolkit (R3T)

Repair-Reuse-Recycle Toolkit (R3T) icon
  • Category: Planning, Design & Assessment
  • Primary environment: MaaS Provider
  • Documentation focus: Design reference
  • Maturity: TRL 4, progressing towards TRL 5–6 (first release, M18)
  • Related architecture docs: Reference Architecture Guide, Environments

The Repair-Reuse-Recycle Toolkit (R3T) supports industrial stakeholders in evaluating end-of-life strategies for equipment and assets. It combines circularity-oriented decision logic with lifecycle and cost criteria so users can compare alternative repair, reuse, and recycle paths.

The D5.2 usage viewpoint defines roles, permissions, constraints, a role-task matrix, and a use case diagram for this solution.

  • Administrator: Manages groups and projects, algorithms, results, and has deletion rights; constraint: It must operate in compliance with security and privacy restrictions.
  • User: Use the interface to run algorithms, view and delete results; constraint: No access to the management of other people’s groups/projects

Repair-Reuse-Recycle Toolkit use case

Use-case diagram extracted from MaaSAI deliverable D5.2.

R3T combines circularity workflows, evaluation algorithms, data preparation, and result management to compare repair, reuse, and recycle alternatives. The functional view shows how user actions and project data move through the toolkit before generating reusable end-of-life decision outputs.

Repair-Reuse-Recycle Toolkit functional components

Functional components diagram extracted from MaaSAI deliverable D5.2.

The toolkit allows users to model end-of-life decision graphs, process them through algorithmic workflows, and compare candidate paths according to cost and environmental impact.

At a high level, the solution includes a web-based frontend for modelling and reviewing results, a runtime layer for processing and optimisation, and supporting data-preparation and post-processing services.

The underlying processing chain starts with data preparation from edge or database sources, continues through runtime evaluation, and ends with result sharing and storage so circularity decisions can be reviewed and reused later.

Repair-Reuse-Recycle Toolkit architecture

D5.2 does not expose a dedicated runtime architecture figure for R3T; the official functional diagram is reused here as the closest design-baseline view.

The R3T architecture exclusively uses open-source technologies and standard Python libraries.

CategoryTechnology
BackendPython with Flask and Flask-CORS for the REST API; sqlite3 for database communication
OptimisationEnd-of-Life optimisation engine based on the Grey Wolf Optimiser
FrontendReact/Next.js, based on the MaaSAI UI template provided by UPV
DataSQLite database storing projects, graphs, component and process data, and optimisation results
SecurityKeycloak authentication (with Auth0 integration on the frontend)
ContainerisationDocker containers for all components

In the first release the R3T operates as a self-contained decision-support tool; D12.1 does not describe integrations with other MaaSAI solutions for this toolkit. Deployment dependencies are Nginx as reverse proxy, Docker as container runtime, Python > 3.9, and optionally the shared MaaSAI Keycloak instance for identity and access management.

The Flask backend exposes POST-based REST endpoints under /api/r3t/:

  • Project management — list, create, update and delete R3T projects
  • Graph storage — save and retrieve the AND/OR graph of component and process nodes
  • Component and process data — manage component attributes (code, weight, cost, assembly level, make-or-buy, material) and process data including LCC and LCA values
  • Optimisation — run the End-of-Life optimisation engine and retrieve the computed solution and route
  • Import/export — export or import complete projects as JSON

The React UI provides a project creation and management dashboard, interactive graph modelling with alternating process (P) and component (C) nodes, data-input tabs for components and processes (with dedicated LCC and LCA sections), and result views highlighting the optimal process-component path together with the economic and environmental trade-off panel.

Representative screens of the R3T web interface in the first release:

R3T end-of-life scenario graph

EoL scenarios through alternating process (P) and component (C) nodes — MaaSAI deliverable D12.1.

R3T end-of-life simulation results

End-of-Life strategy simulation results with the highlighted optimal path — MaaSAI deliverable D12.1.

The R3T is deployed as a Docker-based containerised application split into two services: a React frontend container and a Python/Flask backend container. Requirements are modest:

RequirementMinimumRecommended
CPU1 vCPU2 vCPU
RAM2 GB4 GB
Storage5 GB10 GB
OS64-bit Linux64-bit Linux