Skip to content

omarsilva1/edc-ui

 
 

Repository files navigation

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

EDC UI

UI for sovity's extended EDC-Connector.
Report Bug · Request Feature

angular.io

Table of Contents
  1. About The Project
  2. Getting Started
  3. Configuration
  4. Running dev mode
  5. Build docker image
  6. Codegen for Data-Management API
  7. Contributing
  8. License
  9. Contact

About The Project

Eclipse Dataspace Components is a framework for building dataspaces, exchanging data securely with ensured data sovereignity.

sovity extends the EDC functionality to offer enterprise-ready managed "Connector-as-a-Service" services, bringing out-of-the-box fully configured DAPS and integrations to existing other dataspace technologies.

Our extension of EDC UI functionalities has been made open source and are compatible with stock EDC backends depending on selected configuration.

(back to top)

Getting Started

The fastest way to get started is to run our docker-compose.yaml.

cd docs/getting-started

# Runs EDC and EDC UI at localhost:11000
docker compose up

Configuration

A list of all available configuration properties can be found here.

In general, all ENV vars EDC_UI_* are written to an assets/app-config.json, either before starting the angular build server or before starting the nginx to serve static files.

(Optional) Pass a JSON in an ENV Var

The ENV var EDC_UI_CONFIG_JSON can be used to pass a JSON that can contain all properties that would otherwise need to be specified individually. Individually provided ENV vars take precedence, however.

(back to top)

Running dev mode

Requires Node.js version ^16.10.0.

# Fake backend
(cd fake-backend && npm i && npm run start)

# Run Angular Application
npm i
npm run start

Configuring Dev Mode

For dev mode ENV vars are read from:

  • Current Environment Variables (highest precedence)
  • .env file (not committed, in .gitignore)
  • .env.local-dev file (defaults for working with fake backend).
# Example:
# Create a .env file to easily switch between profiles
EDC_UI_ACTIVE_PROFILE=mds-open-source

(back to top)

Build docker image

Requires docker.

# Build docker image
docker build -f "docker/Dockerfile" -t "edc-ui:latest" .

# Docker image will serve at :80

Configuring docker image

ENV vars EDC_UI_* will be collected into assets/app-config.json at container startup and served.

NGINX_BIND and NGINX_PORT are templated into default.conf and can be used to overwrite nginx bind address and port.

(back to top)

Codegen for Data-Management API

  1. Optionally update openapi/openapi.yaml.
  2. Regenerate models and services:
    docker run --rm -v "${PWD}:/local" openapitools/openapi-generator-cli generate -i /local/openapi/openapi.yaml -g typescript-angular -o /local/src/modules/edc-dmgmt-client/

Please note that some client classes were edited manually after generation. When regenerating the classes for the API update be careful especially not to overwrite service constructor methods using the generator!

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Our contribution guide can be found in CONTRIBUTING.md.

(back to top)

License

Distributed under the Apache 2.0 License. See LICENSE for more information.

(back to top)

Contact

contact@sovity.de

(back to top)

About

EDC-UI for sovity's extended EDC-Connector.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Languages

  • TypeScript 85.8%
  • HTML 10.0%
  • SCSS 2.4%
  • JavaScript 1.1%
  • Other 0.7%