The Datenanfragen.de website
This repository contains the source code for the Datenanfragen.de website.
Datenanfragen.de is an open source project by Datenanfragen.de e. V., a registered non-profit from Germany. We have made it our mission to help you exercise your right to privacy.
Through our website, we offer a generator for GDPR requests as well as access to our company and supervisory authority database (see this repository for the source behind this data) and comprehensive articles on the GDPR and privacy in general.
To build the project locally for development, follow these steps:
- Install Yarn 1 (Classic) and the extended(!) version of Hugo (v0.88.1).
- Clone the repo and run
yarnin the root directory of the repo to fetch all required dependencies.
- Run the deploy script (
./deploy.sh) to fetch and prepare the required resources from our data repository.
- Open two terminal windows. In the first, run
yarn devto start the Webpack file watcher, which will automatically build the JS files. In the second one, run
hugo serverto have Hugo continuously build the actual website and the SCSS.
- Now the website should be served by Hugo on multiple ports, starting from
1313, for the different language versions.
We recommend building and developing on Linux or macOS. If you are on Windows, use WSL.
Windows development tips
Developing on Windows inside WSL
- Install ripgrep to speed up the merge conflict commit hook.
- Developing tests with Cypress requires a GUI, which might not work with WSL.
Developing on Windows outside of WSL
- We do not recommend this, but it's possible.
- You need to run the
deploy.shscript once via some bash-like tool. Use WSL or Git Bash.
- Use Node LTS and not the latest Node release (otherwise you might get Python errors).
- To get around file name limitations (#581), run
$env:HUGO_DISABLEALIASES="true"in the terminal that will run
- Please make sure to only commit LF line endings. Configure your IDE or Git accordingly, or use some conversion tool.
- Some commit hooks might not work on Windows. You can use
git commit --no-verifycarefully to get around this.
macOS development tips
Increase the maximum file limit for processes
hugo server registers a file watcher for every file in our repo and the number of files can get very large, you might get file watcher related errors. To fix, increase the file limit for processes on your computer (this change is temporary until you restart):
sudo sysctl -w kern.maxfiles=65536
For testing, we use CircleCI in combination with Cypress (see more on our browser tests here). We previously used BrowserStack who kindly let us use their services.
First of all, thank you very much for taking the time to contribute! Contributions are incredibly valuable for a project like ours.
We warmly welcome issues and pull requests through GitHub. You can also chat with us through our Matrix space. Feel free to ask questions, pitch your ideas, or just talk with the community.
Please be aware that by contributing, you agree for your work to be released under the MIT license, as specified in the
If you are interested in contributing in other ways besides coding, we can also really use your help. Have a look at our contribute page for more details.
While you can just contribute translations through this repository, an easier way is through the localisation platform Weblate. We manage our translations through them. There, you can easily help us translate—be it a couple of strings or whole components.
If you're interested in chatting about our translation efforts, join our i18n room on Matrix.