Dataland

A decentralized ecosystem for raw ESG-data where market participants exchange ESG-data in a transparent way.
https://github.com/d-fine/dataland

Category: Sustainable Development
Sub Category: Sustainable Investment

Keywords from Contributors

profile animations stress-test atoms geocoder domain-modeling contributing feature-toggle

Last synced: about 4 hours ago
JSON representation

Repository metadata

Dataland - the open ESG Data Platform

README.md

Dataland

Dataland is a platform to distribute ESG data. This repository contains the code for the Dataland Platform.

License

This project is free and open-source software licensed under the GNU Affero General Public License v3
(AGPL-3.0). Commercial use of this software is allowed. If derivative works are distributed, you need to publish
the derivative work under the same license. Here, derivative works include web publications. That means, if you build
a web service using this software, you need to publish your source code under the same license (AGPL-3.0)

In case this does not work for you, please contact dataland@d-fine.de for individual license agreements.

Contributions

Contributions are highly welcome. Please refer to our contribution guideline.
To allow for individual licenses and eventual future license changes, we require a contributor license agreement from
any contributor that allows us to re-license the software including the contribution.

Quick Start Guide

Follow these steps to set up the dataland development stack on your computer.

  1. Install Java (>= 21), Node.JS (>=24), and docker.
  2. In your environment variables: Set JAVA_HOME to your java installation path and make sure java is in your PATH (On Windows, add %JAVA_HOME%/bin to PATH).
  3. Add a link for local-dev.dataland.com and dataland-admin to 127.0.0.1 in the Hosts file (On Windows: %windir%\system32\drivers\etc\hosts, On Linux: /etc/hosts).
  4. (If on Windows): Enable long paths in git (git config --global core.longpaths true) and in Windows.
  5. Clone this repository to your computer.
  6. Start the development stack by running manageLocalStack.sh --reset --start --simple. You may omit the --reset on subsequent starts. Especially the first start can take a long time, make sure that Docker is running in the background. Note: on Windows run this command in bash terminal e.g. GitBash.
  7. After the stack has booted, you may go to https://local-dev.dataland.com in your browser and experience dataland. You can login with the default credentials data_admin:password.
  8. You can stop the development stack by running manageLocalStack.sh --stop --simple.

Developer Remarks

In this section, you find information that might be useful for you as a developer.

Add scripts to git with the executable flag

Especially under Windows, it's unclear which file permissions a script will get.
To explicitly mark a script executable, do:
git update-index --chmod=+x script.sh

Git Hooks

To add the provided git pre-hooks to your local development environment execute:
git config --local core.hookspath ./.githooks/

Environment Variables for Development

Environmental variables can be set via the script setEnvironmentVariables.ps1.

API Documentation

Links to the interactive swagger API documentation are available on all running instances of dataland
(e.g. test) in the footer. For example, the swagger UI of the test instance backend is
located here. Requests can be authorized via two different methods:

  • Option A: Manually obtain a bearer token from KeyCloak and enter it in the default-bearer-auth field.
  • Option B: Automatically obtain a bearer token from KeyCloak by entering dataland-public for client_id and
    leaving client_secret empty (in the default-oauth section). Swagger will then redirect you to the KeyCloak Login
    form for authentication.

Run Cypress Tests locally

  • start the local stack using "manageLocalStack.sh --start". Set the env-variables (see above).
  • The backend will be started automatically. You can kill it and run it from the IDE if you like (e.g. for Debugging)
  • Either use cypress while watching the browser:
    • start the cypress UI by using npm run cypress
    • Select E2E Testing or Component Testing and run the tests
  • Or use cypress without visible browser (more robust):
    • run npm run testpipeline -- --env EXECUTION_ENVIRONMENT=""

Licenses

This project makes use of open source dependencies. To see a list of gradle dependencies along with their
licenses, run ./gradlew generateLicenseReport


Owner metadata


GitHub Events

Total
Last Year

Committers metadata

Last synced: 12 days ago

Total Commits: 1,162
Total Committers: 58
Avg Commits per committer: 20.034
Development Distribution Score (DDS): 0.723

Commits in past year: 382
Committers in past year: 23
Avg Commits per committer in past year: 16.609
Development Distribution Score (DDS) in past year: 0.573

Name Email Commits
renovate[bot] 2****] 322
SiegfriedSobkowiak 7****k 108
emanueldfine 9****e 68
Marc 1****1 63
ppuetsch 4****h 51
KoenMoors-dfine 2****e 45
fsoffel 1****l 36
stewal19 1****9 36
AlexanderBors 1****s 34
Dennis Groh 1****e 32
Fabian-dfine 2****e 26
MarcinStanczyk 9****7 24
aliabdoli77 9****7 24
StephanWezorke 1****e 19
marcelrasbachdfine 1****e 19
Desiree--dfine 2****1 16
SimonHofmann12 1****2 16
Johannes Haerkötter 1****e 16
Andreas Hoecherl 3****l 15
Stefano Ferrario 1****o 15
LaurinStrelow 1****w 14
WiebkeLuenemann-df 2****f 13
juliacialkowski 1****i 13
BenediktLaubmann 1****n 11
brunoneumannsaavedra 1****a 7
MarcMDfine 1****e 7
PaulChristiansen 1****n 7
Stephan Sinn 4****n 7
janherre 1****e 7
pioSko2 1****2 7
and 28 more...

Committer domains:


Issue and Pull Request metadata

Last synced: 29 days ago

Total issues: 10
Total pull requests: 2,074
Average time to close issues: 5 days
Average time to close pull requests: 9 days
Total issue authors: 5
Total pull request authors: 49
Average comments per issue: 0.2
Average comments per pull request: 0.18
Merged pull request: 1,196
Bot issues: 5
Bot pull requests: 1,093

Past year issues: 0
Past year pull requests: 699
Past year average time to close issues: N/A
Past year average time to close pull requests: 3 days
Past year issue authors: 0
Past year pull request authors: 19
Past year average comments per issue: 0
Past year average comments per pull request: 0.2
Past year merged pull request: 403
Past year bot issues: 0
Past year bot pull requests: 444

More stats: https://issues.ecosyste.ms/repositories/lookup?url=https://github.com/d-fine/dataland

Top Issue Authors

  • renovate[bot] (5)
  • emanueldfine (2)
  • loraine-gueguen (1)
  • stewal19 (1)
  • dennis-dfine (1)

Top Pull Request Authors

  • renovate[bot] (1,092)
  • SiegfriedSobkowiak (128)
  • emanueldfine (70)
  • MarcTM01 (65)
  • dennis-dfine (65)
  • AlexanderBors (55)
  • saz-im-netz (51)
  • fsoffel (40)
  • aliabdoli77 (38)
  • stewal19 (35)
  • marcelrasbachdfine (32)
  • LaurinStrelow (31)
  • StephanWezorke (28)
  • SimonHofmann12 (27)
  • jhaerDfine (25)

Top Issue Labels

  • dependencies (4)

Top Pull Request Labels

  • dependencies (1,087)
  • Minor (203)
  • MAJOR (107)
  • localization (1)

Dependencies

dataland-backend/build.gradle.kts maven
  • org.springframework.boot:spring-boot-starter-actuator * implementation
  • org.springframework.boot:spring-boot-starter-security * implementation
  • org.springframework.boot:spring-boot-starter-web * implementation
  • org.springframework.boot:spring-boot-starter-test * testImplementation
dataland-e2etests/build.gradle.kts maven
  • org.springframework.boot:spring-boot-starter-web * implementation
  • org.springframework.boot:spring-boot-starter-test * testImplementation
dataland-frontend/package-lock.json npm
  • 1383 dependencies
dataland-frontend/package.json npm
  • @cypress/code-coverage ^3.10.0 development
  • @faker-js/faker ^7.3.0 development
  • @jest/globals ^28.1.2 development
  • @vue/cli-plugin-babel ~5.0.4 development
  • @vue/cli-plugin-e2e-cypress ~5.0.4 development
  • @vue/cli-plugin-eslint ~5.0.4 development
  • @vue/cli-plugin-typescript ~5.0.4 development
  • @vue/cli-plugin-unit-jest ~5.0.4 development
  • @vue/cli-service ~5.0.4 development
  • @vue/eslint-config-typescript ^10.0.0 development
  • @vue/test-utils ^2.0.2 development
  • @vue/vue3-jest ^27.0.0 development
  • cypress ^9.7.0 development
  • depcheck ^1.4.3 development
  • eslint ^8.19.0 development
  • eslint-plugin-cypress ^2.12.1 development
  • eslint-plugin-prettier ^4.2.1 development
  • eslint-plugin-vue ^8.7.1 development
  • git-commit-id ^2.0.1 development
  • npm-check-updates ^14.1.1 development
  • sass-loader ^13.0.2 development
  • ts-jest ^27.1.5 development
  • ts-node ^10.8.2 development
  • typescript ~4.7.4 development
  • @formkit/themes ^1.0.0-beta.8
  • @formkit/vue ^1.0.0-beta.8
  • axios ^0.27.2
  • json2csv ^5.0.7
  • keycloak-js ^18.0.1
  • material-icons ^1.11.5
  • primeflex ^3.2.1
  • primeicons ^5.0.0
  • primevue ^3.15.0
  • vue ^3.2.37
  • vue-router ^4.1.2
.github/workflows/CD.yaml actions
  • ./.github/workflows/dockerLogs * composite
  • ./.github/workflows/downloadImageVersions * composite
  • ./.github/workflows/logObjects * composite
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-java v3 composite
  • actions/upload-artifact v3 composite
  • docker/login-action v2 composite
.github/workflows/CI.yaml actions
  • ./.github/workflows/dockerLogs * composite
  • ./.github/workflows/downloadImageVersions * composite
  • ./.github/workflows/logObjects * composite
  • actions/checkout v3 composite
  • actions/download-artifact v3 composite
  • actions/setup-java v3 composite
  • actions/upload-artifact v3 composite
.github/workflows/RebuildDockerImages.yaml actions
  • ./.github/workflows/logObjects * composite
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • docker/login-action v2 composite
.github/workflows/dockerLogs/action.yaml actions
  • actions/upload-artifact v3 composite
.github/workflows/downloadImageVersions/action.yaml actions
  • actions/download-artifact v3 composite
.github/workflows/logObjects/action.yaml actions
  • actions/upload-artifact v3 composite
dataland-api-key-manager/Dockerfile docker
  • eclipse-temurin 17.0.8_7-jre-alpine build
  • ghcr.io/d-fine/dataland/dataland_api_key_manager_base ${DATALAND_API_KEY_MANAGER_BASE_VERSION} build
dataland-backend/Dockerfile docker
  • eclipse-temurin 17.0.8_7-jre-alpine build
  • ghcr.io/d-fine/dataland/dataland_backend_base ${DATALAND_BACKEND_BASE_VERSION} build
dataland-batch-manager/Dockerfile docker
  • eclipse-temurin 17.0.7_7-jre-alpine build
  • ghcr.io/d-fine/dataland/dataland_batch_manager_base ${DATALAND_BATCH_MANAGER_BASE_VERSION} build
dataland-document-manager/Dockerfile docker
  • eclipse-temurin 17.0.8_7-jre-alpine build
  • ghcr.io/d-fine/dataland/dataland_document_manager_base ${DATALAND_DOCUMENT_MANAGER_BASE_VERSION} build
dataland-e2etests/Dockerfile docker
  • ghcr.io/d-fine/dataland/dataland_e2etests_base ${DATALAND_E2ETESTS_BASE_VERSION} build
dataland-frontend/Dockerfile docker
  • ghcr.io/d-fine/dataland/dataland_gradle_base ${DATALAND_GRADLE_BASE_VERSION} build
  • nginx 1.25.1 build
dataland-inbound-admin-proxy/Dockerfile docker
  • nginx 1.25.2 build
dataland-inbound-proxy/Dockerfile docker
  • nginx 1.25.2 build
dataland-internal-storage/Dockerfile docker
  • eclipse-temurin 17.0.8_7-jre-alpine build
  • ghcr.io/d-fine/dataland/dataland_internal_storage_base ${DATALAND_INTERNAL_STORAGE_BASE_VERSION} build
dataland-keycloak/Dockerfile docker
  • ghcr.io/d-fine/dataland/dataland_gradle_base ${DATALAND_GRADLE_BASE_VERSION} build
  • quay.io/keycloak/keycloak 22.0.1 build
  • registry.access.redhat.com/ubi9 latest build
dataland-pgadmin/Dockerfile docker
  • dpage/pgadmin4 7.6 build
dataland-qa-service/Dockerfile docker
  • eclipse-temurin 17.0.8_7-jre-alpine build
  • ghcr.io/d-fine/dataland/dataland_qa_service_base ${DATALAND_QA_SERVICE_BASE_VERSION} build
dataland-rabbitmq/Dockerfile docker
  • rabbitmq 3.12.4-management build
docker-compose.yml docker
build.gradle.kts maven
dataland-api-key-manager/build.gradle.kts maven
dataland-backend-utils/build.gradle.kts maven
dataland-batch-manager/build.gradle.kts maven
dataland-document-manager/build.gradle.kts maven
dataland-frontend/build.gradle.kts maven
dataland-internal-storage/build.gradle.kts maven
dataland-keycloak/build.gradle.kts maven
dataland-keycloak/dataland_theme/login/build.gradle.kts maven
dataland-keycloak-adapter/build.gradle.kts maven
dataland-message-queue-utils/build.gradle.kts maven
dataland-qa-service/build.gradle.kts maven
dataland-keycloak/dataland_theme/login/package-lock.json npm
  • 435 dependencies
dataland-keycloak/dataland_theme/login/package.json npm
  • @types/node 20.6.2 development
  • @typescript-eslint/eslint-plugin ^6.7.0 development
  • eslint ^8.49.0 development
  • eslint-config-prettier ^8.10.0 development
  • eslint-plugin-prettier ^5.0.0 development
  • npm-check-updates ^16.14.4 development
  • sass ^1.67.0 development
  • typescript 5.2.2 development
  • vite ^4.4.9 development
  • @ibm/plex ^6.3.0
  • @zxcvbn-ts/core ^3.0.4
  • @zxcvbn-ts/language-common ^2.0.1
  • @zxcvbn-ts/language-en ^2.1.0
  • material-icons ^1.13.11
  • primeflex ^3.3.1
  • primeicons ^6.0.1
package-lock.json npm

Score: 8.350902451694811