Session Finder

Manual

Find artists nearby who wish to collaborate by starting a new instant session. Or just look for a running session nearby.

  1. Allow location detection or set a starting location by clicking on the map.

  2. Within the blue markers popup, whether choose to just search, or to create an instant session.

  3. Alternatively, if you are logged in, you may choose to schedule a session.

To see details of any session, move you pointing device to the marker or click on it for even more details.

Any session will be visible on the map for not longer than one hour. Start a new one if you are still in progress, so others know it is still time left to join. ;-)

To schedule a session, instead to start one instantly, you need an Microsoft account for authentication. You can cancel your scheduled sessions when logged in by selecting its marker on the map and clicking the cancel button within its popup.

Hint: Logout, open a new browser window, login again for every new session you like to schedule.

The screen will refresh every 5 minutes. Hit the refresh button of your browser to update in between this interval.

Please note: Although you may log into the app, you are still not authorized. You may get authorized upon request or invitation.

Session Finder

About

I created this small web app to be used in the coming summer, to find other musicians for spontaneous sessions and to learn about azure web apps.

Self hosting

Actually the app is prepared to run as Azure Web App (Python)

Configuration must be set in localconf.json in project root:

{
  "db_account_name": "",
  "db_account_key": "",
  "web_contact_info": "",
  "web_legal_info": "",
  "map_url": "https://{s}.tile.openstreetmap.de/tiles/osmde/{z}/{x}/{y}.png",
  "map_attribution": "Kartendaten: OpenStreetMap, Mitwirkende, http://www.openstreetmap.org/copyright ",
  "ad_consumer_key": "",
  "ad_consumer_secret": "",
  "ad_tenant_name": "",
  "schedules_secret": ""
}

or may be set via environment variables.

Java script dependencies need to be included manually:

  • .min css and js files from https://github.com/nickpeihl/leaflet-sidebar-v2 need to be copied into static/sb
  • copy the dist/images directory, awesome-markers.css, and awesome-markers.js from https://github.com/lvoogdt/Leaflet.awesome-markers to static/am

Python dependencies are included in requirements.txt.

On Azure deploy by git repo, otherwise the dependencies will not get build.

these files / folders need to be added: .env localconf.json spare_code.py static/sidebar static/markers static/leaflet static/fontawesome

some manual changes with in the app services active directory may be needed. remember the callback url for the MS oauth. as ssl happens outside of the app, the callback url will be http only. needs to be manually overwritten, for now.

Users need to get managed within azure ad enterprise apps.

Storage backends

Only azure tables actually

Stored data

I try to collect as less data as possible within the app.

  • unique instant session or scheduled session id,
  • its position and type, the time of the request for one hour
  • schedules also store an encrypted and hashed user identifier to allow for later editing through the user
  • schedules are stored up to 7 days after creation
  • logs and metrics mayy get collected, based upon the chosen provider

Thanks to

  • https://www.openstreetmap.de/
  • https://stackoverflow.com/
  • http://flask.pocoo.org/
  • https://leafletjs.com/
  • https://geopy.readthedocs.io/en/stable/
  • https://python-markdown.github.io
  • https://github.com/nickpeihl/leaflet-sidebar-v2
  • https://github.com/lvoogdt/Leaflet.awesome-markers
  • https://github.com/cicorias/python-flask-aad-v2
  • https://github.com/microsoftgraph/python-sample-auth
  • https://docs.microsoft.com/en-us/azure/active-directory/develop/howto-add-app-roles-in-azure-ad-apps
  • https://dev.to/gimlet2/prometheus-python-flask-4ik0


Service Contact: mail(at)tigabeatz.net
Legal: http://www.tigabeatz.net/impressum.html

Search Sessions

Instant sessions are kept alive for one hour. Start a new one to let others know its still running.







Scheduled Session

A scheduled session, unlike the instant session, can be planned up to 7 days upfront.

You need to be logged in to create a scheduled session.













Instant Session










Messages

reserved session id: af72d9cf-8333-47f7-9ba4-b62349cdd348
anonymous user