fixme-lausanne / MyHackerspace

Android app for hackerspaces status and information, using the SpaceAPI.
https://play.google.com/store/apps/details?id=ch.fixme.status
44 stars 29 forks source link

[FEATURE] Better discovery/browsing of Hackerspaces #81

Open silent88 opened 4 years ago

silent88 commented 4 years ago

Hi,

I discovered FIXME Hackerspace thanks to MyHackerspace, in 2015 I was awake at 2 AM and I was browsing the F-Droid app store, trying to get bored enough to sleep. I installed MyHackerspace and found that there was a hackerspace in my city, it was a completely random happenance.

Joining FIXME was a life changing experience and I wanted to highlight the browsing/discovery aspect of the application, to help other people like me discover hackerspaces.

I have two big features in mind:

  1. In MyHackerspace to sort the hackerspace list by country.
  2. To make a map with Google Maps which shows all the hackerspace in directory.json for whoever wants to see what is near them, or visit Hackerspaces when traveling.

1: https://github.com/silent88/MyHackerspace/commit/74721d820549ce6eb05ff4c12bdcdcf97e6f0a53 Here I marked the code to modify in order to have a sorted list. Instead of loading the list with only the name of the hackerspace, you can load the list with "country code" + "" + "hackerspace name". This is a related issue: Filter spaces https://github.com/fixme-lausanne/MyHackerspace/issues/4

2: In order to have create a Google Map we need a centralized repository of GeoData. It does not make sense to have MyHackerspace query all hackerspaces dynamically only to build a map, or a simple UI list. https://github.com/silent88/directory https://raw.githubusercontent.com/silent88/directory/master/directory-country-manual.json

Discussion about modifying the centralized repository is happening here: https://github.com/SpaceApi/directory/pull/147

silent88

dbrgn commented 4 years ago

Regarding country mappings, also check out https://github.com/SpaceApi/schema/issues/74. (Although for discovery a distance based solution might be better.)