Skip to content

technologiestiftung/weihnachtsmarktkarte

Repository files navigation

All Contributors

Berliner Weihnachtsmarktkarte

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

The Berliner Weihnachtsmarktkarte (Berlin Christmas market map) is an interactive web map of Berlin showing all christmas markets 2023 based on an open dataset. You can filter the markets by date and opening hours and also by marktes with no entry fee or with a special focus like international or design marktes. As a further example this map makes the meaning of open data clear by exploring the city in a new way. We wish you a charming exploration of the berlin christmas markets and merry christmas.

Map

Context

Year after year the Senatsverwaltung für Wirtschaft, Energie und Betriebe (Economics, Energy and Public Enterprises) publishs an open dataset about christmas markets. This year the Open Data Informationsstelle Berlin (ODIS) looked a bit deeper into the data and built an interactive map allowing the visitors to explore berlin christmas markets in a new way. It does exist an overview about christmas markets on the official website of berlin called Das offizielle Hauptstadtporal, though these informations are only discoverable under individual articles. One key function of the map is to filter by individual interests: Which christmas markets are open on my desired date? Which are completly free? And can you show me only international christmas markets on the map? This map gives an answer to all these questions and allows you to plan the visit ahead. Additionally you can see public transport stations and public toilets nearby on the map. With one click via the share function, you can share your favorite christmas market with others.

This application is almost completely based on open data. Open data is now an important part of Berlin's administrative activities and not only creates transparency and openness, but also enables analysis and applications like this to explore the city and come together for pre-christmas time. You can find more open data at the Berlin Open Data Portal.

Data

This repository contains the original data for the Berliner Weihnachtsmarktkarte.

Original data sources

The informations on the christmas marktes is based on an open dataset at the berlin open data portal, which is annually updated by the Senatsverwaltung für Wirtschaft, Energie und Betriebe. The information on design cristmas markets is currently only available as a list via Berlin.de. They were transferred into a geodata set by means of webscraping. The locations of the public toilets can also be found in the berlin open data portal, which is regularly updated by the Senatsverwaltung für Umwelt, Mobilität, Verbraucher- und Klimaschutz.

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 [email protected]:berlin/weihnachtsmarktkarte.git

Move into the repository folder:

cd weihnachtsmarktkarte

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

Input Data

The required input data is documented here.

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/). The dark map style that is used in the application is located in our repo under: ./resources/mapstyle.json. If you would like to use this particular style feel free to copy it. Please note, that you would need to update the MAPKEY with your own project's mapkey.

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):

Fabian Morón Zirfas
Fabian Morón Zirfas

📖
Lucas Vogel
Lucas Vogel

📖
Ingo Hinterding
Ingo Hinterding

📖
Max B. Eckert
Max B. Eckert

🔣
Lisa-Stubert
Lisa-Stubert

💻 📖
Hans Hack
Hans Hack

💻 📖
anna
anna

🎨 🤔
Ester
Ester

🔣
KlemensM
KlemensM

🤔 🔣

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

Content Licencing

The Christmas market data used is under CC-BY license. 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 came from the Senatsverwaltung für Wirtschaft, Energie und Betriebe (Senate Department for Economics, Energy and Public Enterprises).

Credits



Together with:

A project by:

Supported by: