Points of interest and an opportunity to use GitHub Actions

Points of interest and an opportunity to use GitHub Actions

Why Build a Custom POI Map?

Sometimes, you just need a simple tool to save and display locations on a map — think of it as the digital version of pins on a map on the wall. While tools like Google Maps with My Maps can handle this easily, using a common solution takes away the fun of building something yourself. More importantly, privacy concerns with Google services make them less appealing for personal use.

So, I took this as an opportunity to create my own mapping solution for points of interest (POI), tailored to my needs and fully under my control.

A simple app to show points-of-interest.

  • dash
  • leaflet
  • map
  • poi
  • python
  • Last Update 02-04-2025
  • Open Issues 0
  • Subscribers 1
  • Forks 0

Project Requirements

For this project, I defined a few core requirements:

  • Show POIs on an interactive map
  • Create and delete POIs
  • Filter displayed POIs based on user-defined categories
  • Display some statistics because statistics are always nice

Implementation

Working with map data can be challenging, and simple tools like Streamlit weren’t flexible enough for my needs. The next best option was Dash, a Python framework for building web applications, combined with Dash Leaflet for handling maps.

Beyond the core functionality, I also took the opportunity to add some nice-to-have features:

  • Documentation with Sphinx to ensure everything is well-documented
  • GitHub Actions for automated code quality assurance and testing
  • GitHub Actions for deployment: the app on Docker Hub and the documentation to a GitHub page

The full documentation for the project is available on GitHub: POI Map Documentation