Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/technologiestiftung/weihnachtsmarktkarte

A map of christmas markets in Berlin based on Open Data
https://github.com/technologiestiftung/weihnachtsmarktkarte

odis

Last synced: 30 days ago
JSON representation

A map of christmas markets in Berlin based on Open Data

Awesome Lists containing this project

README

        

![](https://img.shields.io/badge/Built%20with%20%E2%9D%A4%EF%B8%8F-at%20Technologiestiftung%20Berlin-blue)

[![All Contributors](https://img.shields.io/badge/all_contributors-9-orange.svg?style=flat-square)](#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](/public/socialimage.jpg)

## Context

Year after year the Senatsverwaltung für Wirtschaft, Energie und Betriebe (Economics, Energy and Public Enterprises) publishs an open dataset about [christmas markets](https://daten.berlin.de/datensaetze/berliner-weihnachtsm%C3%A4rkte). This year the [Open Data Informationsstelle Berlin (ODIS)](https://odis-berlin.de) 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](https://daten.berlin.de).


## 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](https://daten.berlin.de/datensaetze/berliner-weihnachtsmärkte) 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:

- [Typescript](https://www.typescriptlang.org/)
- Linting with [ESLint](https://eslint.org/)
- Formatting with [Prettier](https://prettier.io/)

## 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](https://nodejs.org/en/) installed.

### Installation

Clone the repository to your local machine:

```bash
git clone [email protected]:berlin/weihnachtsmarktkarte.git
```

Move into the repository folder:

```bash
cd weihnachtsmarktkarte
```

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

```bash
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](https://github.com/nvm-sh/nvm), which allows switching to the correct version via:

```bash
nvm use
```

With the correct Node version, install the dependencies:

```bash
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:

```bash
npm run dev
```

## Input Data

The required input data is documented [here](./public/README.md).

## 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 ` to create a new branch (ideally following [Conventional Commits guidelines](https://www.conventionalcommits.org)).
- 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](https://vercel.com/new?utm_source=github&utm_medium=readme&utm_campaign=next-example) ([Documentation](https://nextjs.org/docs/deployment)).

## 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](https://matomo.org/) 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](https://allcontributors.org/docs/en/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](https://github.com/all-contributors/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: