Skip to content

technologiestiftung/energiekarte

Repository files navigation

All Contributors

Berliner EnergieCheckpoint

This application is a prototype. It may contain errors and small bugs. If you notice something you can report an Issue. Thank you!

Berlin aims to be climate neutral by 2045 at the latest. To this end, the Berlin Climate Protection and Energy Turnaround Act (EWG Bln) was passed to reduce carbon dioxide emissions by at least 95% compared to emission levels in 1990. Public buildings such as schools and cultural institutions play a leading role in saving energy by renovation and retrofitting. But which buildings consume how much energy and what potential savings can be made by renovating individual buildings? The application takes a closer look at the data on properties managed by the public enterprise BIM (Berliner Immobilien Management) as an example.

Map

Context

This application is based on open data. Open data is an important part of Berlin's administrative activities and on top of creating transparency, enables analysis and applications like this. You can find more open data at the Berlin Open Data Portal.

Data

You can find the raw data on the BIM Website

Tech stack

This website is a NextJS app configured with:

Project structure

Basic Next.js app

Getting started

Requirements

Node.js

This project is a Next.js app which requires you to have Node.js installed.

Installation

Clone the repository to your local machine:

git clone git@github.com:technologiestiftung/energiekarte.git

Move into the repository folder:

cd energiekarte

Make sure you use the Node.js version specified in .nvmrc. Find out which Node version you're currently on with:

node --version

If this version differs from the one specified in .nvmrc, please install the required version, either manually, or using a tool such as nvm, which allows switching to the correct version via:

nvm use

With the correct Node version, install the dependencies:

npm install

Because the map uses a basemap from maptiler (https://www.maptiler.com/), you will need to provide connection details in your environment. In this repository you can find a file .env.example. Duplicate this file and name it .env.

In .env you must enter the connection details to the Maptiler style file as suggested in .env.example. If you do not know how to obtain the necessary details, please ask a repository maintainer for access. You can also use other basemaps by providing your own style file.

You are now ready to start a local development server on http://localhost:3000 via:

npm run dev

Workflow

New features, fixes, etc. should always be developed on a separate branch:

  • In your local repository, checkout the main branch.
  • Run git checkout -b <name-of-your-branch> to create a new branch (ideally following Conventional Commits guidelines).
  • Make your changes
  • Push your changes to the remote: git push -u origin HEAD
  • Open a pull request.

You can commit using the npm run cm command to ensure your commits follow our conventions.

Deployment

The app is deployed to the cloud with Vercel (Documentation).

Map

The basemap style was created with maptiler (https://www.maptiler.com/). Please note, that you need to update the MAPKEY with your own project's mapkey. You can also use any other basemap by adapting the code in the src/Map folder.

Page analytics

We use Matomo for website analytics. Matomo is respectful of the users' privacy, the page visits are tracked anonymously.

In the production environment, a NEXT_PUBLIC_MATOMO_URL and NEXT_PUBLIC_MATOMO_SITE_ID is configured for this purpose.

Contributors

Thanks goes to these wonderful people (emoji key):

This project follows the all-contributors specification. Contributions of any kind welcome!

Content Licencing

The underlying data was adapted from the BIM website. We have processed and enriched the data for this application. If you use this dataset processed by us, you must indicate that the original raw data was provided by the BIM (Berliner Immobilienmanagement GmbH).

Credits



Together with:

A project by:

Supported by: