Dataland is a platform to distribute ESG data. This repository contains the code for the Dataland Platform.
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 [email protected] for individual license agreements.
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.
Follow these steps to set up the dataland development stack on your computer.
- Install Java (>= 21), Node.JS (>=24), and docker.
- In your environment variables: Set
JAVA_HOMEto your java installation path and make sure java is in yourPATH(On Windows, add%JAVA_HOME%/bintoPATH). - Add a link for
local-dev.dataland.comanddataland-adminto127.0.0.1in the Hosts file (On Windows:%windir%\system32\drivers\etc\hosts, On Linux:/etc/hosts). - (If on Windows): Enable long paths in git (
git config --global core.longpaths true) and in Windows. - Clone this repository to your computer.
- Start the development stack by running
manageLocalStack.sh --reset --start --simple. You may omit the--reseton 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. - After the stack has booted, you may go to
https://local-dev.dataland.comin your browser and experience dataland. You can login with the default credentialsdata_admin:password. - You can stop the development stack by running
manageLocalStack.sh --stop --simple.
In this section, you find information that might be useful for you as a developer.
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
To add the provided git pre-hooks to your local development environment execute:
git config --local core.hookspath ./.githooks/
Environmental variables can be set via the script setEnvironmentVariables.ps1.
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-authfield. - Option B: Automatically obtain a bearer token from KeyCloak by entering
dataland-publicforclient_idand leavingclient_secretempty (in thedefault-oauthsection). Swagger will then redirect you to the KeyCloak Login form for authentication.
- 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 TestingorComponent Testingand run the tests
- start the cypress UI by using
- Or use cypress without visible browser (more robust):
- run
npm run testpipeline -- --env EXECUTION_ENVIRONMENT=""
- run
This project makes use of open source dependencies. To see a list of gradle dependencies along with their
licenses, run ./gradlew generateLicenseReport