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.
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.
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.
This website is a NextJS app configured with:
- Typescript
- Linting with ESLint
- Formatting with Prettier
Basic Next.js app
This project is a Next.js app which requires you to have Node.js installed.
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
The required input data is documented here.
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.
The app is deployed to the cloud with Vercel (Documentation).
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.
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.
Thanks goes to these wonderful people (emoji key):
Fabian Morón Zirfas 📖 |
Lucas Vogel 📖 |
Ingo Hinterding 📖 |
Max B. Eckert 🔣 |
Lisa-Stubert 💻 📖 |
Hans Hack 💻 📖 |
anna 🎨 🤔 |
Ester 🔣 |
KlemensM 🤔 🔣 |
This project follows the all-contributors specification. Contributions of any kind welcome!
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).
|
Together with:
|
A project by:
|
Supported by:
|