Skip to content

Commit 39d63ed

Browse files
committed
feat: migrated dpp-tutorial from digital-product-pass repo
1 parent 27a5b1a commit 39d63ed

72 files changed

Lines changed: 4793 additions & 0 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

dpp-tutorial/README.md

Lines changed: 251 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,251 @@
1+
<!--
2+
#######################################################################
3+
4+
Tractus-X - Digital Product Pass Application
5+
6+
Copyright (c) 2024 BMW AG
7+
Copyright (c) 2024 CGI Deutschland B.V. & Co. KG
8+
Copyright (c) 2024 Contributors to the Eclipse Foundation
9+
10+
See the NOTICE file(s) distributed with this work for additional
11+
information regarding copyright ownership.
12+
13+
This work is made available under the terms of the
14+
Creative Commons Attribution 4.0 International (CC-BY-4.0) license,
15+
which is available at
16+
https://creativecommons.org/licenses/by/4.0/legalcode.
17+
18+
SPDX-License-Identifier: CC-BY-4.0
19+
20+
#######################################################################
21+
-->
22+
23+
<div align=right><img height=200 src="../docs/media/dpp-tx-logo.png"/>&nbsp;&nbsp;<h1>Tractus-X​ Digital Product Passport​ Workstream​</h1><h4>Third Tractus-X Community Days - 5,6 December 2024 - Stuttgart</h4></div>
24+
25+
26+
## Description
27+
28+
The digital product passport application provides a consumer user interface to request a battery passport from a battery manufacturer using the standardized components and technologies in a Catena-X network. The passport will be displayed in a human-readable from any browser. The data exchange standards given by Catena-X are used to provide the battery passport to different personas (roles) in the network.
29+
30+
In particular, the appliction is used to access the battery passport data provided by battery manufacturer. By scanning QR-code or knowing the manufacturer and battery-ID, a user can request the passport through **Eclipse Dataspace Connectors (EDCs)** over the Catena-X network. The passport provider will provide data attributes that is only visible to a permitted signed-in user.
31+
32+
## Problem Statement
33+
34+
Company-X has manufactured cars for the market in Germany. The cars were built using components from different companies. A surprise inspection is scheduled by a governmental environment auditor in 5 months. This generates a problem for Company-X, because all the data from the parts is not available. Company-X sends an email to their supplier companies, however their send incomplete data in different formats and structures, which confuses Company-X engineers when calculating the carbon footprint and makes the compliance to the regulations really complicated. It is hard to keep track from the latest regulations and convince supplier companies to give all their data without loosing control over it. So, the engineers decide to use Catena-X for the data exchange. Per email Company-X request its suppliers to provide the data while still maintaining data sovereignty, simply by following the Catena-X standards for the Digital Product Passport which comply with the regulations of the inspection. ​
35+
36+
You are one of the suppliers from Company-X. To maintain your client, you are required to create a Digital Product Pass for your Part, so that Company-X can obtain the total PCF value from its car. Creating a Car Digital Product Pass and fulfilling the sustainability regulations imposed in the inspection.
37+
38+
## Pre-Requisites [ONSITE at the Worksession]
39+
* Computer with following programs installed:
40+
* [Insomnia](https://insomnia.rest) > Create an account to be able to import collections.
41+
* Mobile Phone with Browser (for scanning QR codes)
42+
43+
44+
## Pre-Requisites [ONLINE]
45+
46+
* Kubernetes 1.19+
47+
* Helm 3.2.0+
48+
* PV provisioner support in the underlying infrastructure
49+
* MXD Components:
50+
2 EDCs (Provider + Consumer)
51+
1 Keycloak
52+
1 Vault
53+
* BPN Discovery Service
54+
* EDC Discovery Service
55+
* Discovery Service
56+
* Printer (for printing QR codes)
57+
* Mobile Phone with Browser (for scanning QR codes)
58+
* Insomnia
59+
60+
61+
## Preparation
62+
63+
Split into groups of five individuals, ensuring each group receives a sheet of paper containing a distinct Part from the [test-data](./resources/test-data/carParts.json).
64+
65+
> [!Caution]
66+
> Please dont change the given templates for digital twin, only change the provided placeholders
67+
68+
For the tutorial, two distinct paths are available: the Explorer Path and the Builders Path, each tailored to different groups:
69+
70+
<div style="display: flex; justify-content: center; align-items: center; gap: 10px;">
71+
<a href="./explorer-path.md">
72+
<img src="./resources/screenshots/explorers.png" alt="explorers path" style="width: 30%;">
73+
</a>
74+
<a href="./builder-path.md">
75+
<img src="./resources/screenshots/builders.png" alt="builders path" style="width: 30%;">
76+
</a>
77+
</div>
78+
79+
### 1. Explorer Path:
80+
81+
This path is ideal for individuals who aim to gain a high-level understanding of the overall logic and processes. It’s particularly suitable for business partners, decision-makers, or anyone interested in a functional overview.
82+
83+
- In this path, you will download pre-prepared requests, modify them, and execute them using Insomnia.
84+
- This approach focuses on simplicity and provides an accessible introduction to the workflow.
85+
86+
&rarr; The Explorer Path can be accessed [here](./explorer-path.md)
87+
88+
### 2. Builders Path
89+
90+
This path is designed for technically inclined participants who want to dive deeper into the details.
91+
92+
- Clone the repository, follow the instructions in the ReadMe.md file, and navigate through various steps.
93+
- Execute the HTTP requests directly via the terminal (Windows/Mac/Linux).
94+
- This approach offers an in-depth exploration of the technical communication.
95+
96+
&rarr; The Builders Path can be accessed [here](./builder-path.md)
97+
98+
## Overview
99+
100+
## Phase 1: Data Provision
101+
102+
In this Phase, you as a provider will create a Digital Product Passport of a specific Part of the Arena-X Car. For this phase, you can use your own computer through Visual Studio Code / Notepad ++ or a given Virtual Machine.
103+
104+
##### Duration: 45 mins
105+
106+
The following steps provide a concise overview of the entire tutorial process, which you will primarily complete using the explorers or the developer path
107+
108+
#### Step 1 - Create a Digital Product Passport (DPP)
109+
110+
In this step, you'll create the Digital Product Passport (DPP) by utilizing data from the Product Carbon Footprint and specifications of a specific car part from the Arena.
111+
112+
#### Step 2 - Create a Digital Twin integrating the generated DPP as a submodel
113+
114+
In this step, you will create a Digital Twin of your provided Car part.
115+
116+
#### Step 3 - Generate the QR Code
117+
118+
From this point onward, follow the steps regardless of the path you chose earlier.
119+
120+
* Follow the tutorial on [How to generate a QR code](./qr-code.md)
121+
122+
#### Step 4 - Print the QR-Code
123+
124+
Print the QR Code from the nearby printer and start searching your part in the Car!
125+
126+
#### Step 5 - Paste QR Code in the Car Part of the Picture
127+
128+
Paste it in the specific Part in the Car. Ensure that the QR code is securely attached and easily scannable. Test the scanning functionality to verify that the encoded information can be retrieved accurately.
129+
130+
Great! The data provisioning process has been successfully set up. It is now ready for data exchange within the dataspace. This means that all necessary configurations and integrations have been completed, ensuring efficient data sharing.
131+
132+
## Phase 2: Data Consumption
133+
134+
In this phase, you as a consumer, will access the Digital Product Pass (DPP) consumer application and retrieve data from the network by either scanning a QR code or entering an ID.
135+
136+
##### Duration: 45 mins
137+
138+
#### Consumption - Access DPP Application
139+
140+
* Follow the tutorial on [DPP Data Consumption](./data-consumption.md)
141+
142+
* You can access the application by using URL and the credentials.
143+
144+
* Scan the available QR Codes on the Car parts or provide the ID.
145+
146+
* Upon scanning, you will obtain the passport of the part.
147+
148+
* Access the UI of the passport to view its details.
149+
150+
* Look for the Product Carbon Footprint (PCF) information for each of the specific car part
151+
152+
* Sum up the PCF values of all individual parts to obtain the aggregate Carbon Footprint value for the entire car.
153+
154+
## Phase 3: Data Certification & Verification
155+
156+
##### Duration: 10 mins
157+
158+
In order to Certify your Digital Product Passport please follow this instructions, [dpp-verification guide](./verification.md).
159+
160+
Once you are done, please repeat the [Phase 2: Data Consumption](#phase-2-data-consumption).
161+
Scan the QR code and check if you are able to verify your passport with the application.
162+
163+
If everything went well you will be able to see the verification statement in the top right:
164+
165+
![Verification Statement](./resources/screenshots/verification-statement.png)
166+
167+
If you click in the button:
168+
169+
![verification](./resources/screenshots/verification-button.png)
170+
171+
You will see:
172+
173+
![alt text](./resources/screenshots/verification-details.png)
174+
175+
Which are the details, you can see the signature, how created and when + much more!
176+
177+
**Now is the question: What do you trust more?**
178+
179+
- [ ] The one that was certified and has a valid signature proofing that the person that made it was the one that made it, in a specific time, and the data integrity was mathematically validated.
180+
- [ ] The one that was a plain unverifiable plain JSON file.
181+
182+
## Final Challenge: Car Passport
183+
184+
Group name is defined like this:
185+
186+
```
187+
dpp-<your number=page number right bit)-<sessionNumber>-partName
188+
```
189+
190+
> [!NOTE]
191+
> Session number will be provided by the coaches! There are three sessions, values from [1-3].
192+
### Creating the Final Digital Product Passport (DPP) for the Whole Car
193+
194+
Scan the available QR codes from various parts of the car and record the Product Carbon Footprint (PCF) value of each specific part.
195+
196+
197+
### Compile the following information to create the DPP:
198+
199+
* Name: Provide a name for the car model.
200+
* Description: Include a brief description of the car, its features, and specifications.
201+
* ID: Assign a unique identifier for the car.
202+
* Total PCF Aggregate Value: Calculate and add up the PCF values of all individual parts to obtain the aggregate carbon footprint value for the entire car.
203+
* Any other information you may find relevant
204+
205+
For creating the Car passport digital twin use [this template](./resources/digital-twins/car-dt-template.json)
206+
207+
* After generating the aspect model you need to generate the car digital twin. You can look in the previous [phase 2](#phase-2:-data-consumption)
208+
209+
* Generate a new UUID4 in this [uuid generator page](https://www.uuidgenerator.net/version4)
210+
211+
* As digital twin "id" add with this schema: `urn:uuid:<your group name>`
212+
213+
* Create Part Instance Id of your choice and add to `specificAssetIds["name=partInstanceId"].value
214+
215+
>[!IMPORTANT]
216+
> Remember the part instance id you created for later creating the QR code -> `CX:<manufacturerPartId>:<partInstanceId>`
217+
218+
* For the `manufacturerPartId` use `MPI0012`
219+
220+
* Add the submodel as specified in the [digital-twin-provision](./digital-twin-provision.md) guide to the twin.
221+
222+
* Upload your payload to the data service as specified in the [digital-twin-provision](./digital-twin-provision.md) guide.
223+
224+
* Generate a QR code as specified in the [qr code guide](./qr-code.md)
225+
226+
* Scan it and access it with the app.
227+
228+
* Add your QR code to the board!
229+
230+
231+
Congratulations! You have completed the E2E Journey for Digital Product Pass
232+
233+
## Links of interest
234+
235+
| How to Guides | Link |
236+
| -------- | ----- |
237+
| How to deploy DPP Application | [deployment.md](./deployment.md) |
238+
| How to generate a QR code | [qr-code.md](./qr-code.md) |
239+
| DPP Data Consumption | [data-consumption.md](./data-consumption.md) |
240+
| Explorer Path | [explorer-path](./explorer-path.md) |
241+
| Builder Path | [builder-path](./builder-path.md) |
242+
243+
## NOTICE
244+
245+
This work is licensed under the [CC-BY-4.0](https://creativecommons.org/licenses/by/4.0/legalcode).
246+
247+
- SPDX-License-Identifier: CC-BY-4.0
248+
- SPDX-FileCopyrightText: 2024 BMW AG
249+
- SPDX-FileCopyrightText: 2024 CGI Deutschland B.V. & Co. KG
250+
- SPDX-FileCopyrightText: 2024 Contributors to the Eclipse Foundation
251+
- Source URL: https://github.com/eclipse-tractusx/digital-product-pass

0 commit comments

Comments
 (0)