{"id":19903431,"url":"https://github.com/zdavatz/yjg","last_synced_at":"2026-04-17T05:02:06.889Z","repository":{"id":43911818,"uuid":"255258941","full_name":"zdavatz/yjg","owner":"zdavatz","description":"ywesee javascript geolocation using geo.admin.ch","archived":false,"fork":false,"pushed_at":"2024-03-17T12:13:28.000Z","size":376,"stargazers_count":2,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-11T21:26:41.162Z","etag":null,"topics":["admin","ch","geo","geolocation","javascript","meteor"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zdavatz.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-13T07:22:57.000Z","updated_at":"2023-03-08T01:43:30.000Z","dependencies_parsed_at":"2024-03-17T13:30:44.532Z","dependency_job_id":"c53a24d2-a988-4944-bc6d-52d9df20eb3c","html_url":"https://github.com/zdavatz/yjg","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdavatz%2Fyjg","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdavatz%2Fyjg/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdavatz%2Fyjg/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zdavatz%2Fyjg/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zdavatz","download_url":"https://codeload.github.com/zdavatz/yjg/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241331008,"owners_count":19945272,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin","ch","geo","geolocation","javascript","meteor"],"created_at":"2024-11-12T20:23:45.378Z","updated_at":"2026-04-17T05:02:06.857Z","avatar_url":"https://github.com/zdavatz.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# yjg - ywesee javascript geolocation\n1. Show button in HTML page.\n2. Show Option for user to enter Username.\n3. Click the button and grab long/lat with [this library](https://github.com/trekhleb/use-position).\n4. Ask for permission to access GPS data on the mobile phone.\n5. User clicks the button to share location and his username (optional)\n6. Geolocation and Browser-ID is saved in the database.\n7. If the Geolocation changes more then 100 meters, the user can save his location again.\n8. Translate GPS coordinates into PLZ and Streetname.\n9. Output [file](https://covgeo.ch/covgeo_export_daily_7am.csv) updated daily at 7 am.\n\n## optional: configure locationiq.com\nGet the map token from https://locationiq.com\n- copy settings.example.json to settings.json\n- add the token\n  \nsettings.json \n```\n{\n    \"locationiqComId\": \"\",\n    \"isSSL\": false\n}\n\n```\n\n## Run \n ```\n $ meteor npm i\n\n $ meteor --settings settings.json\n\n// with SSL support for localhost testing and selfsigned cert\n $ meteor --settings settings.json --port 3100\n// without SSL support or with Apache SSL support compiled in\n $ meteor --settings settings.json --port 3000\n\n ```\n## Digital Ocean Deployment\n### Apache Setup\n```\n~$ cat /etc/apache2/sites-enabled/yjg.conf\n\u003cVirtualHost *:80\u003e\n  ServerName covgeo.ch\n  Redirect permanent / https://covgeo.ch\n\u003c/VirtualHost\u003e\n\n\u003cVirtualHost 165.22.16.219:443\u003e\n  ServerName covgeo.ch\n  ProxyPreserveHost On\n  ProxyPass  /excluded !\n  ProxyPass / http://127.0.0.1:3000/\n  ProxyPassReverse / http://127.0.0.1:3000/\n  SSLEngine on\n  SSLCertificateFile /etc/letsencrypt/live/covgeo.ch/cert.pem\n  SSLCertificateKeyFile /etc/letsencrypt/live/covgeo.ch/privkey.pem\n  SSLCertificateChainFile /etc/letsencrypt/live/covgeo.ch/chain.pem\n\u003c/VirtualHost\u003e\n```\nApache will need these as well\n```\na2enmod proxy\na2enmod proxy_http\na2enmod proxy_ajp\na2enmod rewrite\na2enmod deflate\na2enmod headers\na2enmod proxy_balancer\na2enmod proxy_connect\na2enmod proxy_html\na2enmod proxy\na2enmod ssl\n```\n### Letsencrypt Setup\n```\n./certbot-auto certonly --server https://acme-v02.api.letsencrypt.org/directory --manual --preferred-challenges dns -d '*.covgeo.ch'  -d covgeo.ch\n````\n\n### acme TXT Record setup\n1. [Set acme Domain TXT records](https://user-images.githubusercontent.com/4953/79723589-51854980-82e6-11ea-8dfc-4f0efe4b6d3c.png)\n2. Test acme Setup `dig -t TXT _acme-challenge.covgeo.ch`\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzdavatz%2Fyjg","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzdavatz%2Fyjg","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzdavatz%2Fyjg/lists"}