Skip to content

This is the code repository of the Steuerlotse by DigitalService.

License

Notifications You must be signed in to change notification settings

digitalservicebund/steuerlotse

Repository files navigation

Steuerlotse

🇬🇧 This is the code repository of the Steuerlotse by DigitalService. You can use this code under the terms of the provided license. The Steuerlotse is available at: https://steuerlotse-rente.de

With the Steuerlotse, taxable pensioners can submit their tax returns online. The Steuerlotse was specially developed for the tax return of pensioners without additional income.

As early as 2019, four federal states (Brandenburg, Bremen, Mecklenburg-Western Pomerania and Saxony) developed a simplified tax return in paper form for pensioners. Based on the paper form a digital prototype was developed as part of the Tech4Germany Fellowship 2020. The fellowship is organized by DigitalService GmbH des Bundes.

🇩🇪 Dies ist das Quellcodearchiv des Steuerlotse vom DigitalService. Du kannst den Code unter den Bedingungen der angegebenen Lizenz nutzen. Der Steuerlotse ist verfügbar unter: https://steuerlotse-rente.de

Mit dem Steuerlotsen können steuerpflichtige Rentner:innen und Pensionär:innen ihre Steuererklärung online einreichen. Der Steuerlotse wurde extra für die Steuererklärung von Rentner:innen und Pensionär:innen ohne Zusatzeinkünfte entwickelt.

Bereits 2019 haben vier Bundesländer (Brandenburg, Bremen, Mecklenburg-Vorpommern und Sachsen) eine vereinfachte Steuererklärung in Papierform für Rentner:innen entwickelt. Auf Basis des Papiervordrucks wurde im Rahmen des Tech4Germany Fellowships 2020, das von der DigitalService GmbH des Bundes organisiert wird, von vier Fellows in Kooperation mit dem BMF ein digitaler Prototyp entwickelt.

General remarks

🇬🇧 The Steuerlotse is actively being further developed. We plan on releasing new features and updates based on user research in the future in this repository.

🇩🇪 Der Steuerlotse wird aktiv weiterentwickelt. Wir planen, in Zukunft neue Funktionen und Updates basierend auf Nutzerforschung in diesem Repository zu veröffentlichen.

Contributing

🇬🇧 Everyone is welcome to contribute to the development of the Steuerlotse. You can contribute by opening pull requests, providing documentation or answering questions or giving feedback. Please always follow the guidelines and our Code of Conduct.

🇩🇪
Jede:r ist herzlich eingeladen, die Entwicklung der Steuerlotse mitzugestalten. Du kannst einen Beitrag leisten, indem du Pull-Requests eröffnest, die Dokumentation erweiterst, Fragen beantwortest oder Feedback gibst. Bitte befolge immer die Richtlinien und unseren Verhaltenskodex.

Contributing code

🇬🇧 Open a pull request with your changes, and it will be reviewed by someone from the team. When you submit a pull request, you declare that you have the right to license your contribution to the DigitalService and the community. By submitting the patch, you agree that your contributions are licensed under the MIT license.

Please make sure that your changes have been tested before submitting a pull request.

🇩🇪
Nach dem Erstellen eines Pull Requests wird dieser von einer Person aus dem Team überprüft. Wenn du einen Pull-Request einreichst, erklärst du dich damit einverstanden, deinen Beitrag an den DigitalService und die Community zu lizenzieren. Durch das Einreichen des Patches erklärst du dich damit einverstanden, dass deine Beiträge unter der MIT-Lizenz lizenziert sind.

Bitte stelle sicher, dass deine Änderungen getestet wurden, bevor du einen Pull-Request sendest.

For Developers 👩‍💻 👨‍💻

Overview

The two main components are the webapp and erica.

The webapp handles user input, renders html and connects to the PostgresSQL database.

Erica provides an internal API to connect via ERiC (ELSTER Rich Client) with the ELSTER APIs. Erica has been moved to its own repository here: https://github.com/digitalservicebund/erica.

Run directly

For developing, we suggest running both webapp and erica locally. See the following readmes for instructions:

Run with docker-compose

Alternatively, you can start the application with docker-compose up.

Run database migrations and create test data:

docker-compose exec web pipenv run flask db upgrade
docker-compose exec web pipenv run flask populate-database

Visit the application by pointing your browser at http://localhost.

Run with docker-compose for development

Copy env file

# Add the needed parameter values to the copied .env file
cp .env.example .env
cp .erica.env.example .erica.env

Login on our docker registry

docker login $DOCKER_REGISTRY

Start our needed services for development (migrations, testdata and translations will be automatically populated)

docker-compose -f docker-compose.development.yml up

Run database migrations, create test data and translations:

docker-compose -f docker-compose.development.yml up migrations

Start frontend storybook client

cd ./webapp/client
yarn storybook

When docker services are running you can configure IDE(e.g. Pycharm) to use this docker compose services as python interpreter to debug. (see .run/Flask (autoapp).run.xml)

Enviroments

We support four different environments with different configurations:

  • Testing
  • Development
  • Staging
  • Production

In the testing environment a mocked version of Erica and the hashing algorithm is used.

Architecture Decision Records

We will document architecture decision records going forward. If you want to add a new ADR you can use adr-tools:

adr new <title of adr>

or the python version:

pipenv run adr-new create <title of adr>

Both commands create a new file in doc/adr. Make sure to edit this file to explain the decision.

About

This is the code repository of the Steuerlotse by DigitalService.

Resources

License

Code of conduct

Stars

Watchers

Forks

Languages

  • Python 65.2%
  • JavaScript 29.0%
  • HTML 4.0%
  • CSS 1.7%
  • Dockerfile 0.1%
  • Shell 0.0%