Skip to content

Commit

Permalink
Add Documentation (#64)
Browse files Browse the repository at this point in the history
* Application and Readme

* .md

* Update Application.md

* Update Application.md

* Create Coding Standards

* Create Functionalities.md

* Update Functionalities.md

* Update Functionalities.md

* Update Functionalities.md

* Update Functionalities.md

* Updated Documentation

* Update Functionalities.md

* Update Functionalities.md

* Update Functionalities.md

* Update Functionalities.md

* Update Coding Standards.md

* Update Coding Standards.md

* Update Coding Standards.md

* Update Coding Standards.md

* Update Functionalities.md

* Update Functionalities.md

* Update Functionalities.md

* Flows part 1

* Supplier

* Suplier end

* Gif fix and notice

* Update User Flow.md

* Rebiew and Dependecies

* added docs images and jsons for DEV

* Update Code_Dependencies.md

* ´Fixes

* Update Code_Dependencies.md

* Update Code_Dependencies.md

* Update Code_Dependencies.md

* Update EDC funcionalities

* Data REtrieval Guide

* Create Application Error Codes_v1.1.xlsx

* Update User Flow.md

* Add Catena Portal Guide

* userflow doc thresholds

* Update Local Development Install.md

added keycloak error description

* Update Local Development Install.md

added example url

* ToC

* Update Functionalities.md

* Structure organizing

* Mini fix

* Banner

* Bannerr

* Update banner.gif

* Update Coding Standards.md

* Update Functionalities.md

* Changed catenax-ng references to eclipse-tractusx for docs\*

* Reworded portal references, added link to tractus-x portal guide

* TRG 7.07 Conformance

Updated the License Notices of the docs\*.md to conform to TRG 7.07 Version 18th Jul 2023

* Changed Repo and Organisation references

catenax-ng --> eclipse-tractusx
tx-demand-capacity-mgmt --> demand-capacity-mgmt

* add Postgres version and link to docker / wsl  installation

* Review Fixes

* Corrected Typo

* Update CatenaPortalGuide.md

---------

Co-authored-by: Sergio Figueiredo <[email protected]>
Co-authored-by: saja <[email protected]>
Co-authored-by: Diogo Sousa <[email protected]>
Co-authored-by: ClosedSourcerer <[email protected]>
  • Loading branch information
5 people authored Apr 10, 2024
1 parent cfb0fee commit b8808eb
Show file tree
Hide file tree
Showing 71 changed files with 9,761 additions and 82 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/build-backend.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,4 +71,4 @@ jobs:
# .env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # Needed to get PR information, if any
# SONAR_TOKEN: ${{ secrets.SONAR_TOKEN }}
# run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=catenax-ng_tx-demand-capacity-mgmt-backend
# run: mvn -B verify org.sonarsource.scanner.maven:sonar-maven-plugin:sonar -Dsonar.projectKey=eclipse-tractusx_demand-capacity-mgmt-backend
77 changes: 23 additions & 54 deletions INSTALL.md
Original file line number Diff line number Diff line change
@@ -1,69 +1,38 @@
Prerequisites:
- Ensure you have both Helm and Kind installed.
Table of Contents

Installing Helm:
- [Eclipse Dataspace Connector (EDC)](#enterprise-data-connector-edc)
- [Catena Portal Guide](#catena-portal-guide)
- [Data Retrieval Guide](#data-retrieval-guide)
- [Application](#application)
- [Prerequisites for EDC Integration](#prerequisites-for-edc-integration)
- [Installation Guide](#installation-guide)
- [API Sample Endpoints](#api-sample-endpoints)

Helm is the package manager for Kubernetes. You can get helm from here: https://github.com/helm/helm/releases
## Eclipse Dataspace Connector (EDC)

-------------------------------------------------------------------------------
### Catena Portal Guide

Installing Kind:
To facilitate seamless integration with the Eclipse Dataspace Connector (EDC) and CatenaX portal, please refer to the detailed instructions provided in the [Catena Portal Guide](/docs/catena%20portal%20guide/CatenaPortalGuide.md).

Kind stands for "Kubernetes in Docker". It's used for running local Kubernetes clusters using Docker containers as nodes. And you can get it from here: https://kind.sigs.k8s.io/docs/user/quick-start/

Now that you have Helm and Kind installed, let's create a cluster, this way we can run the helms charts.
### Data Retrieval Guide

For that we run the following command on a terminal:

kind create cluster --name {NAME_OF_CLUSTER}

And then you can see your cluster by entering:

kind get clusters

-------------------------------------------------------------------------------

Now that you saw your cluster follow the steps below to install the DCM application.

To install the images we need to run this command on the root folder:

helm install dcm ./charts/demand-capacity-management


Now that you have the application running let's work on the EDC.

-------------------------------------------------------------------------------
EDC

Go to https://portal.int.demo.catena-x.net/
Search for your portal company and login.

And now we need to create a user for the edc.

Click on the user icon, on the top right -> User Management -> Technical User Management -> Create Technical User

Choose the Username, the Description, select Data-space Discovery and then Click Confirm. And you have your user for EDC created!.

-------------------------------------------------------------------------------

On your IDE go to the folder charts/edc, you will find 3 folders, in each one you will have to edit the file values.yaml with the correct information form the previous step.

Then you can deploy those charts on argoCD.

-------------------------------------------------------------------------------

After having the EDC deployed, go back to https://portal.int.demo.catena-x.net/

Click on the user icon, on the top right -> Technical Integration -> Register Connector

Select Connect company connector and then next, fill with the connector name, the utl that the ingress form argo cd, and the two-digit code from your company country, and finally, confirm.

Now you have your edc deployed and registered, have fun!
Efficient handling of EDC requests and utilization of its RESTful APIs are crucial for optimal data retrieval. Refer to the comprehensive [Data Retrieval Guide](/docs/data%20retrieval%20guide/DataRetrievalGuide.md) for detailed instructions and best practices.


## Application

For the successful deployment and operation of the application, adherence to certain prerequisites and meticulous installation procedures is essential.

### Prerequisites for EDC Integration

- Proper registration of the company on the CatenaX portal.
- Setup and configuration of the Eclipse Dataspace Connector according to organizational requirements.

### Installation Guide

Aninstallation guide, tailored specifically for local development environments, is available for reference.
Follow the [Local Development Guide](/docs/Local%20Development%20Install.md) for comprehensive instructions on installing and configuring the application.

### API Sample Endpoints
Access Swagger UI for API documentation: [http://localhost:8080/swagger-ui/index.html#/](http://localhost:8080/swagger-ui/index.html#/)
67 changes: 44 additions & 23 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,46 +1,67 @@
# Demand and Capacity Management
Table of Contents

- [Demand and Capacity Management](#demand-and-capacity-management)
- [Overview](#overview)
- [Resilient Supply Chains](#resilient-supply-chains)
- [Advantages for Everyone Involved](#advantages-for-everyone-involved)
- [Application](#application)
- [About the Application](#about-the-application)
- [Prerequisites](#prerequisites)
- [Getting Started](#getting-started)
- [Functionalities](#functionalities)
- [Code Dependencies](#code-dependencies)
- [User Flow](#user-flow)
- [Error Codes](#error-codes)


Turbulence in the global economy, technological change, and limited availability of resources are impacting industries. Eclipse-Tractus-X, which hosts the components for a Catena-X network, enables a secure exchange of demand and capacity data of all partners involved in the automotive network: from raw material to n-tier suppliers to car manufacturers.
# Demand and Capacity Management

# Resilient supply chains
## Overview

Demand and capacity management (BKM) is based on a collaborative process. Those who are part of the Catena-X network can securely share their demand and capacity data with other collaborators: with suppliers just as much as with automotive manufacturers and recyclers.
The ever-changing landscape of the global economy, coupled with technological advancements and resource constraints, poses challenges for industries worldwide. Eclipse-Tractus-X, the host of components for a Catena-X network, facilitates a secure exchange of demand and capacity data among all partners within the automotive network, spanning from raw material suppliers to n-tier suppliers to car manufacturers.

The Catena-X ecosystem offers protected spaces with a common view of the data released. This enables the partners to react at an early stage to changes in plans and deviations and to jointly find a solution based on the situation.
### Resilient Supply Chains

Establishing a collaborative process significantly increases transparency and creates a more robust and resilient supply chain.
Demand and Capacity Management (DCM) operates on a collaborative basis within the Catena-X network. Participants securely share their demand and capacity data, fostering collaboration among suppliers, automotive manufacturers, and recyclers. This ecosystem offers protected spaces with a shared view of data, enabling proactive responses to plan changes and deviations, fostering joint problem-solving.

# Advantages for everyone involved
Establishing such collaborative processes significantly enhances transparency and resilience within supply chains.

Improved planning reliability and accuracy;
### Advantages for Everyone Involved

Increased transparency about the demand and capacity situation as well as their fluctuations;
- Enhanced planning reliability and accuracy
- Increased transparency regarding demand and capacity, including fluctuations
- Early detection and avoidance of capacity bottlenecks
- Reduced under/overproduction through improved resource utilization
- Cost reduction by minimizing expensive re-planning and optimizing material procurement
- Improved delivery reliability and customer satisfaction

Early detection of problems and the ability to avoid capacity bottlenecks;
# Application

Less under/overproduction through better utilization;
For detailed information about the application, refer to [Application.md](/docs/Application.md).

Reduced costs by avoiding expensive re-planning and improved material procurement;
## Prerequisites

Increased delivery reliability and customer satisfaction.
Ensure all necessary prerequisites are met before proceeding with the application setup.

## Getting Started

# This repository
Refer to [Install.md](/INSTALL.md) for comprehensive documentation on running the application.

This repository serves to attach any documentation about demand-capacity-mgmt, for now you can check the folder images to see the following:
## Functionalities

App Flow Diagram
Explore the list of implemented functionalities aligned with CatenaX standards, along with an overview of their implementation progress, in [Functionalities.md](/docs/Functionalities.md).

![App Flow](docs/images/AppFlow.jpg "App Flow Diagram")
## Code Dependencies

Components Architecture Diagram
For development purposes, a comprehensive list of files and their relationships with functionalities can be found in [Code_Dependencies.md](/docs/Code_Dependencies.md).
Adherence to predefined [Coding Standards](/docs/Coding%20Standards.md) is crucial.

![Components Architecture](docs/images/ComponentsArchitecture.jpg "Components Architecture Diagram")
## User Flow

Deployment Architecture Diagram
Understand the application's user flow by referring to [User Flow.md](/docs/User%20Flow.md).

![Deployment Architecture](docs/images/DeploymentArchitecture.jpg "Deployment Architecture Diagram")
## Error Codes

Personas and Capabilities Diagram
Refer to [Application Error Codes_v1.1.xlsx](/docs/Application%20Error%20Codes_v1.1.xlsx) for an overview of application error codes and their structure.

![Personas and Capabilities](docs/images/PersonasAndCapabilities.jpg "Personas and Capabilities Diagram")
<img src="docs/images/banner.gif?raw=true">
2 changes: 1 addition & 1 deletion demand-capacity-mgmt-backend/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@
<properties>
<java.version>17</java.version>
<plugin.prettier.goal>write</plugin.prettier.goal>
<sonar.organization>catenax-ng</sonar.organization>
<sonar.organization>eclipse-tractusx</sonar.organization>
<sonar.host.url>https://sonarcloud.io</sonar.host.url>
<spring-cloud.version>2020.0.3-SNAPSHOT</spring-cloud.version>

Expand Down
4 changes: 2 additions & 2 deletions demand-capacity-mgmt-frontend/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion demand-capacity-mgmt-frontend/package.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
{
"name": "tx-demand-capacity-mgmt",
"name": "demand-capacity-mgmt",
"version": "0.1.0",
"private": true,
"proxy": "http://localhost:8080",
Expand Down
Binary file added docs/Application Error Codes_v1.1.xlsx
Binary file not shown.
81 changes: 81 additions & 0 deletions docs/Application.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,81 @@
Table of content:
- [Supply and Demand Application](#supply-and-demand-application)
- [Key Components:](#key-components)
- [Collaborative Process](#collaborative-process)
- [Transparency and Visibility](#transparency-and-visibility)
- [Early Detection and Mitigation](#early-detection-and-mitigation)
- [Planning and Optimization](#planning-and-optimization)
- [Application Workflow](#application-workflow)
- [Demand Creation](#demand-creation)
- [Demand Update and Verification](#demand-update-and-verification)
- [Sharing with Suppliers](#sharing-with-suppliers)
- [Capacity Group Management](#capacity-group-management)
- [Capacity Allocation](#capacity-allocation)
- [Visibility and Monitoring](#visibility-and-monitoring)
- [Delta Analysis and Threshold Setting](#delta-analysis-and-threshold-setting)
- [Workflow diagram](#workflow-diagram)
- [Prerequisites](#prerequisites)
- [How to run](#how-to-run)
- [Highlevel Architecture Diagram](#highlevel-architecture-diagram)
- [Roles And Access](#roles-and-access)
- [NOTICE](#notice)

# Supply and Demand Application

## Key Components:
Data Exchange Platform: The application serves as a central hub where partners can securely share demand and capacity data. This platform ensures that all stakeholders have access to real-time information, enabling them to make informed decisions and respond promptly to changes in demand or capacity.

- ### Collaborative Process
Demand and Capacity Management (DCM) is based on a collaborative process, allowing partners to work together to optimize planning, reduce costs, and improve supply chain efficiency. By sharing data and insights, partners can anticipate potential issues, identify bottlenecks, and proactively address them before they impact operations.

- ### Transparency and Visibility
The application provides partners with a transparent view of demand and capacity across the entire supply chain. This visibility allows stakeholders to monitor fluctuations, identify trends, and assess the impact of external factors on supply chain operations.

- ### Early Detection and Mitigation
Through real-time monitoring and analysis, the application enables early detection of potential problems, such as capacity constraints or demand surges. By identifying issues at an early stage, partners can take proactive measures to mitigate risks and avoid disruptions in supply chain operations.

- ### Planning and Optimization
By leveraging data-driven insights, partners can optimize planning and resource allocation to meet demand efficiently. The application helps identify opportunities for improving resource utilization, reducing waste, and enhancing overall operational efficiency.

## Application Workflow
The Demand and Capacity Management application streamlines the exchange of demand and capacity data within the automotive supply chain, enabling efficient collaboration and proactive decision-making. Here's how the application workflow unfolds:

- **Demand Creation:** The process begins when a customer creates a demand, specifying the required quantity of a particular product or component.

- **Demand Update and Verification:** Once the demand is created, its values should be updated to reflect necessity of the customer based on production schedules. These updates must be verified to ensure accuracy and consistency before being transmitted to the *Eclipse Dataspace Connector* (EDC) for dissemination.

- **Sharing with Suppliers:** The updated demand data is shared with suppliers through the EDC, providing them with visibility into customer requirements and market demand trends. Suppliers can access this information in their local application, allowing them to review demand forecasts, analyze consumption patterns, and anticipate future orders.

- **Capacity Group Management:** Upon receiving the demand data, suppliers have the option to either add it to an existing capacity group or create a new one. A capacity group represents a collection of resources, facilities, or production lines capable of fulfilling specific demand requirements.

- **Capacity Allocation:** Once a capacity group is established, suppliers allocate resources to meet the demand forecasted for that group. This involves assigning production quotas, scheduling manufacturing runs, and coordinating logistics to ensure timely delivery of products to customers.

- **Visibility and Monitoring:** Both customers and suppliers have access to real-time dashboards and reports that provide visibility into demand and capacity metrics. These metrics include demand category requests, actual capacity, maximum capacity and a delta in a per week basis.By monitoring these metrics, they can identify potential bottlenecks, anticipate supply chain disruptions, and take proactive measures to address them.

- **Delta Analysis and Threshold Setting:** As demand and capacity data are updated, the application calculates deltas to measure changes in supply-demand dynamics.Suppliers use this information to identify potential bottlenecks, prioritize production schedules, and allocate resources efficiently. Additionally, admins can set thresholds and users can trigger alerts when certain metrics exceed predefined limits, enabling timely intervention and risk mitigation.

### Workflow diagram
![Workflow Diagram](images/AppFlow2.jpg "Workflow Diagram")


## Roles And Access
Within the Application, distinct roles and access levels are assigned to users, enabling effective management and control over the application's functionalities.

**User:** As a user, individuals typically interact with the application to create demands, update demand values, and verify their accuracy. Users primarily contribute to the demand side of the supply chain by providing input on their requirements and preferences.

**Supplier:** Suppliers play a crucial role in the supply chain by fulfilling demand requirements and allocating resources accordingly. In the application, suppliers have access to features for managing capacity groups, assigning resources, and monitoring production. They utilize the platform to optimize resource utilization, prioritize production runs, and ensure delivery of products to customers.

**Admin:** Admins are responsible for overseeing the overall operation of the application and ensuring compliance with organizational policies and procedures. They have access to administrative tools and controls for configuring system settings, managing user roles and permissions, and setting up thresholds.



![Roles and Capabilites](images/RolesAcess.jpg "Roles and Capabilities Diagram")

## NOTICE

This work is licensed under the [Apache-2.0](https://www.apache.org/licenses/LICENSE-2.0).

- SPDX-License-Identifier: Apache-2.0
- SPDX-FileCopyrightText: 2022,2024 Bayerische Motoren Werke Aktiengesellschaft (BMW AG)
- SPDX-FileCopyrightText: 2022,2024 Contributors to the Eclipse Foundation
- Source URL: https://github.com/eclipse-tractusx/demand-capacity-mgmt/
Loading

0 comments on commit b8808eb

Please sign in to comment.