Skip to content

Commit

Permalink
Merge pull request #1236 from mkanal/chore/#1070-release-checks-r24.8
Browse files Browse the repository at this point in the history
Chore/#1070 release checks r24.8 Preparation for release #R24.8
  • Loading branch information
ds-mwesener authored Jul 19, 2024
2 parents 0576de1 + dca4d38 commit 2760b68
Show file tree
Hide file tree
Showing 46 changed files with 958 additions and 75 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ _**For better traceability add the corresponding GitHub issue number in each cha
- #1112 Added association int-a/int-b environment to argo workflow

### Changed
- #1070 Converted pngs of concept into svg
- #1070 Update project documentation to current state
- #1070 formatting README
- #1070 Add code coverage badges
- #965 Implement proxy functionality of the IRS policy store
- #962 Changed notification model to new one in frontend/backend
- #962 Removed initial notification message for notification flow
Expand Down
14 changes: 7 additions & 7 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).


* Add release notes for new version in [CHANGELOG.md](CHANGELOG.md)
* Add release notes for new version in [CHANGELOG.md](CHANGELOG.md)
* Features of your product(s) or component(s), available for market entry
* Please provide minimum 5 to maximum 10 key feature descriptions
* Use category “ADDED” as per good practice
Expand All @@ -103,7 +103,7 @@ to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
_**For better traceability add the corresponding GitHub issue number in each changelog entry, please.**_

### git-hooks
Use git-hooks to ensure commit message consistency.
Use git-hooks to ensure commit message consistency.
Detailed pattern can be found here: [commit-msg](https://github.com/eclipse-tractusx/traceability-foss/blob/457cb3523e981ef6aed98355a7faf0ff29867c33/dev/commit-msg#L4)

#### How to use
Expand All @@ -123,10 +123,10 @@ The commit messages have to match a pattern in the form of:

````
fix(api):[TRACEFOSS-123] Fix summary what is fixed.
chore(repos):[TRACEFOSS-123] Configuration change of ci cd pipeline for new repository.
chore(repos):[TRACEFOSS-123] Configuration change of ci cd pipeline for new repository.
docs(arc42):[TRACEFOSS-123] Added level 1 description for runtime view.
chore(helm): TRACEFOSS-1131- Moving the values under the global key - increasing the version
chore(helm): TRACEFOSS-1131- Moving the values under the global key - increasing the version
````

## Pull Request &  Reviews
Expand Down Expand Up @@ -161,9 +161,9 @@ Only after the code is stable it can be merged to main.
- chore/* - any small change without any impact
- Branch Name:
- MUST contain : Issue ID in the format #XXX
- MUST contain: Subject of issue (Abbreviation of pbi summary without using spaces / use "-" to connect)
- MUST contain: Subject of issue (Abbreviation of pbi summary without using spaces / use "-" to connect)

<img src="https://raw.githubusercontent.com/eclipse-tractusx/traceability-foss/main/docs/images/github-flow-branching-model.jpeg" height="60%" width="60%"/>
<img src="https://raw.githubusercontent.com/eclipse-tractusx/traceability-foss/main/docs/images/github-flow-branching-model.svg" height="60%" width="60%"/>

### Commit messages
- The commit messages have to match a pattern in the form of:
Expand Down
115 changes: 65 additions & 50 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,46 +4,51 @@
[![CC BY 4.0 License](https://img.shields.io/badge/Non--code_license-CC%20BY%204.0-orange.svg)](https://github.com/eclipse-tractusx/traceability-foss/blob/main/LICENSE_non-code)
[![QG Backend](https://sonarcloud.io/api/project_badges/measure?project=eclipse-tractusx_traceability-foss-backend&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=eclipse-tractusx_traceability-foss-backend)
[![QG Frontend](https://sonarcloud.io/api/project_badges/measure?project=eclipse-tractusx_traceability-foss-frontend&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=eclipse-tractusx_traceability-foss-frontend)
[![Coverage Backend](https://sonarcloud.io/api/project_badges/measure?project=eclipse-tractusx_traceability-foss-backend&metric=coverage)](https://sonarcloud.io/summary/new_code?id=eclipse-tractusx_traceability-foss-backend)
[![Coverage Frontend](https://sonarcloud.io/api/project_badges/measure?project=eclipse-tractusx_traceability-foss-frontend&metric=coverage)](https://sonarcloud.io/summary/new_code?id=eclipse-tractusx_traceability-foss-frontend)
[![Kics](https://github.com/eclipse-tractusx/traceability-foss/actions/workflows/kics.yml/badge.svg)](https://github.com/eclipse-tractusx/traceability-foss/actions/workflows/kics.yml)
[![Trivy](https://github.com/eclipse-tractusx/traceability-foss/actions/workflows/trivy.yml/badge.svg)](https://github.com/eclipse-tractusx/traceability-foss/actions/workflows/trivy.yml)
[![Eclipse DASH IP Check](https://github.com/eclipse-tractusx/traceability-foss/actions/workflows/eclipse-dash.yml/badge.svg)](https://github.com/eclipse-tractusx/traceability-foss/actions/workflows/eclipse-dash.yml)
[![[BE] Dependency check](https://github.com/catenax-ng/tx-traceability-foss/actions/workflows/dependency-check.yml/badge.svg)](https://github.com/catenax-ng/tx-traceability-foss/actions/workflows/dependency-check.yml)

## Trace-X is a system for tracking parts along the supply chain.
#### A high level of transparency across the supplier network enables faster intervention based on a recorded event in the supply chain. This saves costs by seamlessly tracking parts and creates trust through clearly defined and secure data access by the companies and persons involved in the process.

A high level of transparency across the supplier network enables faster intervention based on a recorded event in the supply chain. This saves costs by seamlessly tracking parts and creates trust through clearly defined and secure data access by the companies and persons involved in the process.

## Table of Contents
- [Trace-X](https://github.com/eclipse-tractusx/traceability-foss/#trace-x-is-a-system-for-tracking-parts-along-the-supply-chain)
- [Trace-X](#trace-x-is-a-system-for-tracking-parts-along-the-supply-chain)
- [Introduction](#introduction)
- [Vision and Mission Statement](#vision-and-mission-statement)
- [Trace-X Feature list](#trace-x-feature-list)
- [How to contribute](https://github.com/eclipse-tractusx/traceability-foss/#how-to-contribute)
- [Releasing](https://github.com/eclipse-tractusx/traceability-foss/#releasing)
- [Environments](https://github.com/eclipse-tractusx/traceability-foss/#environments)
- [The frontend application](https://github.com/eclipse-tractusx/traceability-foss/#the-frontend-application)
- [Challenges and solutions](https://github.com/eclipse-tractusx/traceability-foss/#challenges-and-solutions)
- [Prerequisites](https://github.com/eclipse-tractusx/traceability-foss/#frontend-prerequisites)
- [Installation](https://github.com/eclipse-tractusx/traceability-foss/#frontend-installation)
- [Getting started](https://github.com/eclipse-tractusx/traceability-foss/#getting-started)
- [Application authentication](https://github.com/eclipse-tractusx/traceability-foss/#application-authentication)
- [Application architecture & patterns](https://github.com/eclipse-tractusx/traceability-foss/#application-architecture--patterns)
- [How to contribute](#how-to-contribute)
- [Releasing](#releasing)
- [Environments](#environments)
- [Frontend Application](#frontend-application)
- [Challenges and solutions](#challenges-and-solutions)
- [Prerequisites](#frontend-prerequisites)
- [Installation](#frontend-installation)
- [Getting started](#getting-started)
- [Application authentication](#application-authentication)
- [Application architecture & patterns](#application-architecture--patterns)
- [User guide](#user-guide)
- [Frontend Testing strategy](#frontend-testing-strategy)
- [The backend application](https://github.com/eclipse-tractusx/traceability-foss/#the-backend-application)
- [Prerequisites](https://github.com/eclipse-tractusx/traceability-foss/#backend-prerequisites)
- [Installation](https://github.com/eclipse-tractusx/traceability-foss/#backend-installation)
- [The backend application](#the-backend-application)
- [Prerequisites](#backend-prerequisites)
- [Installation](#backend-installation)
- [Backend Testing strategy](#backend-testing-strategy)
- [API documentation](https://github.com/eclipse-tractusx/traceability-foss/#api-documentation)
- [Container Image](https://github.com/eclipse-tractusx/traceability-foss/#container-image)
- [Licenses](https://github.com/eclipse-tractusx/traceability-foss/#licenses)
- [API documentation](#api-documentation)
- [Container Image](#container-image)
- [Licenses](#licenses)
- [Notice for Docker image](#notice-for-docker-image)
- [Contact](#contact)

## Introduction

### Vision and Mission Statement
Trace-X empowers all companies from SMEs to large OEMs to participate in parts traceability with an Open-Source solution.

The Open-Source Traceability application is developed within the Catena-X project and enables all companies to participate in Parts Traceability.
Trace-X offers capabilities to ingest data for serialized parts and batches as well as their child components.  Within CX, we strive to establish a standardized, data-sovereign and interoperable exchange of traceability data along the value creation chain.
The Open-Source Traceability application is developed within the Catena-X project and enables all companies to participate in Parts Traceability.
Trace-X offers capabilities to ingest data for serialized parts and batches as well as their child components. Within CX, we strive to establish a standardized, data-sovereign and interoperable exchange of traceability data along the value creation chain.

The application gives an overview of the supplier network and the supply chain. A high level of transparency across the supplier network enables faster intervention based on recorded events in the supply chain. Additionally, automated massages regarding Quality related incidents and a tool for inspecting the supply chain helps companies in these fast-moving times.

Expand All @@ -52,37 +57,47 @@ All this saves' costs by seamlessly tracking parts as well as creates trust thro
### Trace-X Feature list
Trace-X as the Open-Source solution for Parts Traceability offers the following functionalities:

* List and view manufactured parts based on BoM AsBuild
* List and view manufactured parts based on BoM AsBuilt
* List and view planned parts based on BoM AsPlanned
* Filter and Search functionality on part views 
* Filter and search functionality on part views
* Show detailed information on manufactured parts
** Asset Administration Shell description
** Submodel description such as SerialPartTypization, AssemblyPartRelationship, Batch
* List and view Supplier parts based on BoM As Build
** List of Supplier parts based on AssemblyPartRelationship Aspect
* Asset Administration Shell description
* Submodel description such as
* SerialPart
* SingleLevelBomAsBuilt
* SingleLevelUsageAsBuilt
* Batch
* JustInSequence
* PartAsPlanned
* SingleLevelBomAsPlanned
* SingleLevelUsageAsPlanned
* List and view Supplier parts based on BoM As Built
* List of Supplier parts based on SingleLevelBomAsBuilt/SingleLevelUsageAsBuilt Aspect
* View parts and parts relations in parts tree
* Send and receive quality investigations along the supply chain
* Quality Investigations (Company to Supplier)
* Quality Alerts (Company to Customers)

## How to contribute

A detailed guide on how to contribute can be found [here](https://github.com/eclipse-tractusx/traceability-foss/blob/main/CONTRIBUTING.md).
A detailed guide on how to contribute can be found [here](CONTRIBUTING.md).

## Releasing
Here is our [Releasing guide](https://github.com/eclipse-tractusx/traceability-foss/blob/main/docs/RELEASE.md).
Here is our [Releasing Guide](docs/RELEASE.md).

## The frontend application
## Frontend Application

This application serves as a user entry point to the Catena-X network.

It's written in Typescript based on the `Angular` framework.
It's written in Typescript based on the [Angular](https://angular.dev/) framework.
We decided on using Angular because of two important aspects.
Firstly, Angular comes with `strict guidelines`, which makes it harder to start working on for new developers, but for established developers it is `easy to start working with`.
Secondly, Angular `scales` perfectly in the long run. Because of the restricted possibilities and stricted guidelines it is hard to implement multiple solutions for the same problem. e.g. Storing data or routing.
Secondly, Angular `scales` perfectly in the long run. Because of the restricted possibilities and strict guidelines it is hard to implement multiple solutions for the same problem. e.g. Storing data or routing.
With that in mind it made sense it chose Angular for an `open source` project.

Source files are exposed statically through the NGINX web server.

### Challenges and solutions
### Challenges and Solutions

"Visualisation of traceability" is one of our most important feature, but once was one of our biggest problems.
We wanted to achieve something that is `visually pleasing`, is `easy to use` and `performs` very good in a `browser application`.
Expand All @@ -98,44 +113,44 @@ Because it uses SVGs, we knew it will perform great. And we are able to have pin

### Frontend Installation

* see [Installation guide](https://github.com/eclipse-tractusx/traceability-foss/blob/main/frontend/INSTALL.md)
* see [Installation guide](frontend/INSTALL.md)

### Getting started

Clone the source locally:

```sh
```bash
$ git clone git@github.com:eclipse-tractusx/traceability-foss.git
$ cd traceability-foss/frontend
```

Install prerequisites:
1. install [node.js](https://nodejs.org/en/download/package-manager)
```sh
```bash
$ npm install --global yarn
$ npm install -g @angular/cli
$ yarn install
```

Start application with``yarn start`` and navigate to ``http://localhost:4200``.
Start application with ``yarn start`` and navigate to ``http://localhost:4200``.

### Application authentication
### Application Authentication

Please find [here](https://github.com/eclipse-tractusx/traceability-foss/blob/main/frontend/AUTHENTICATION.md) some important information about the app authentication.
Please find [here](frontend/AUTHENTICATION.md) some important information about the app authentication.

### Application architecture & patterns
### Application Architecture & Patterns

This [architecture](https://github.com/eclipse-tractusx/traceability-foss/blob/main/frontend/ARCHITECTURE.md) gives you a roadmap and best practices to follow when building an application
This [architecture](frontend/ARCHITECTURE.md) gives you a roadmap and best practices to follow when building an application
so that you end up with a well-structured app.

### User guide
### User Guide

A detailed [explanation](https://github.com/eclipse-tractusx/traceability-foss/blob/main/docs/src/docs/user/user-manual.adoc) of how to use the application.
A detailed [explanation](docs/user/user-manual.adoc) of how to use the application.

### Frontend Testing Strategy
See [TESTING](frontend/TESTING.md).

## The backend application
## Backend Application

### Backend Prerequisites

Expand All @@ -144,26 +159,26 @@ See [TESTING](frontend/TESTING.md).

### Backend Installation

* see [Installation guide](https://github.com/eclipse-tractusx/traceability-foss/blob/main/tx-backend/INSTALL.md)
* see [Installation guide](tx-backend/INSTALL.md)

### Backend Testing Strategy
See [TESTING](tx-backend/TESTING.md).

## API documentation
## API Documentation
The project follows [OpenAPI Specification](https://swagger.io/specification/) in order to document implemented REST Endpoints. The documentation can be found under [/openapi directory](https://github.com/eclipse-tractusx/traceability-foss/blob/main/tx-backend/openapi/traceability-foss-backend.json)
or can be viewed in the Swagger UI accessing the url: `{projectBasePath}/api/swagger-ui/index.html`

## Licenses

* [Apache License 2.0](https://github.com/eclipse-tractusx/traceability-foss/blob/main/LICENSE)
* [CC BY 4.0 License](https://github.com/eclipse-tractusx/traceability-foss/blob/main/LICENSE_non-code)
* [Apache License 2.0](LICENSE)
* [CC BY 4.0 License](LICENSE_non-code)

## Notice for Docker image
## Notice for Docker Image

Below you can find the information regarding Docker Notice for this application.

- [Traceability Backend Docker Notice](https://github.com/eclipse-tractusx/traceability-foss/blob/main/DOCKER_NOTICE.md)
- [Traceability Frontend Docker Notice](https://github.com/eclipse-tractusx/traceability-foss/blob/main/frontend/DOCKER_NOTICE.md)
- [Traceability Backend Docker Notice](DOCKER_NOTICE.md)
- [Traceability Frontend Docker Notice](DOCKER_NOTICE.md)

## Contact

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,7 +94,7 @@ Source: https://miro.com/app/board/uXjVO5JVoho=/?moveToWidget=345876457235304953
- [ ] User selection of Viewer Instance is stored in User Settings. Last selected Viewer Instance will be used for next semantic model selection.
- [ ] User selected semantic model in table is highlighted in dark grey color

![DetailView_With_Code_Viewer_Active.png](DetailView_With_Code_Viewer_Active.png)
![DetailView_With_Code_Viewer_Active](DetailView_With_Code_Viewer_Active.svg)


### Json Code Raw Viewer
Expand All @@ -104,7 +104,7 @@ Source: https://miro.com/app/board/uXjVO5JVoho=/?moveToWidget=345876457235304953
- Vertical scrollbar
- Extend Viewer Panel is extendable to full-screen

![Detail_View_Json_Code_Viewer](Detail_View_Json_Code_Viewer.png)
![Detail_View_Json_Code_Viewer](Detail_View_Json_Code_Viewer.svg)

### Json Tree Viewer

Expand All @@ -115,18 +115,18 @@ Json Tree Viewer is the visualization of a JSON structure in a hierarchical tree
- Code Highlighting
- Line Numbering
- Extend Viewer Panel is extendable to full-screen
![Detail_View_Json_Tree_Viewer](Detail_View_Json_Tree_Viewer.png)
![Detail_View_Json_Tree_Viewer](Detail_View_Json_Tree_Viewer.svg)

### Json Graph Viewer
- Json Tree Viewer
- Json is visualized in graph view
- Code Highlighting
- Extend Viewer Panel is extendable to full-screen
![Detail_View_Json_Graph_Viewer](Detail_View_Json_Graph_Viewer.png)
![Detail_View_Json_Graph_Viewer](Detail_View_Json_Graph_Viewer.svg)


## Viewer in full-screen mode
![Viewer Full Screen](Viewer_Full_screen_mode.png)
![Viewer Full Screen](Viewer_Full_screen_mode.svg)
- Any viewer instance could be extended to full-screen mode
- Full-screen mode is disabled via X button on the right upper side.
- After closing, full-screen former detail view is shown
Expand All @@ -136,7 +136,7 @@ Json Tree Viewer is the visualization of a JSON structure in a hierarchical tree
- Viewer show initial message Semantic model cannot be displayed.
- Standard error message: Semantic model cannot be displayed. With detailed user readable message

![Error View](Error_View.png)
![Error View](Error_View.svg)

# Glossary

Expand Down
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit 2760b68

Please sign in to comment.