Skip to content

catenax-ng/tx-traceability-foss

 
 

Repository files navigation

Trace-X - Product Traceability FOSS Frontend (TRACE-FOSS)Traceability FOSS

Apache 2 License QG Backend QG Frontend Kics Trivy Eclipse DASH IP Check [BE] Dependency check

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.

Table of Contents

How to contribute

A detailed guide on how to contribute can be found here.

Releasing

Here is our Releasing guide.

The 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. 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. 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

"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. Our first approach was to use HTML canvas. But it turned out it is hard to perform accurate actions inside a canvas. That is why we decided on using the D3 library. D3.js is a JavaScript library for manipulating documents based on data. D3 helps you bring data to life using HTML, SVG, and CSS. Because it uses SVGs, we knew it will perform great. And we are able to have pinpoint accuracy when it comes to user actions.

Frontend Prerequisites

Frontend Installation

Getting started

Clone the source locally:

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

Install prerequisites:

  1. install node.js
$ npm install --global yarn
$ npm install -g @angular/cli
$ yarn install

Start application withyarn start and navigate to http://localhost:4200.

Application authentication

Please find here some important information about the app authentication.

Application architecture & patterns

This architecture 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

A detailed explanation of how to use the application.

Frontend Testing Strategy

See TESTING.

The backend application

Backend Prerequisites

Backend Installation

Backend Testing Strategy

See TESTING.

API documentation

The project follows OpenAPI Specification in order to document implemented REST Endpoints. The documentation can be found under /openapi directory or can be viewed in the Swagger UI accessing the url: {projectBasePath}/api/swagger-ui/index.html

License

Apache License 2.0

Notice for Docker image

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

Contact

Contact the Eclipse Tractus-X developers via the developer mailing list.

Contact the project developers via eclipse matrix chat.