{"id":13837632,"url":"https://github.com/flopp/activities","last_synced_at":"2025-03-21T22:31:35.051Z","repository":{"id":146399491,"uuid":"272200849","full_name":"flopp/activities","owner":"flopp","description":"Your self-hosted activities overview (running, cycling, ...). Synced with Strava.","archived":false,"fork":false,"pushed_at":"2024-01-31T22:05:43.000Z","size":436,"stargazers_count":29,"open_issues_count":8,"forks_count":2,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-18T05:35:03.608Z","etag":null,"topics":["leaflet","strava","stravalib"],"latest_commit_sha":null,"homepage":"https://activities.flopp.net","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/flopp.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-06-14T12:46:56.000Z","updated_at":"2024-07-18T13:53:42.000Z","dependencies_parsed_at":"2024-10-28T11:36:42.708Z","dependency_job_id":"225c5cd2-142f-44bd-b5a5-60497ff05ef2","html_url":"https://github.com/flopp/activities","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/flopp%2Factivities","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flopp%2Factivities/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flopp%2Factivities/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flopp%2Factivities/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flopp","download_url":"https://codeload.github.com/flopp/activities/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244880211,"owners_count":20525505,"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":["leaflet","strava","stravalib"],"created_at":"2024-08-04T15:01:17.877Z","updated_at":"2025-03-21T22:31:34.466Z","avatar_url":"https://github.com/flopp.png","language":"JavaScript","funding_links":[],"categories":["JavaScript"],"sub_categories":[],"readme":"# Activities\n\n[![Any color you like](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/ambv/black)\n![Continuous Integration](https://github.com/flopp/activities/workflows/Continuous%20Integration/badge.svg)\n\n\nYour self-hosted activities overview (running, cycling, ...). Synced with [Strava](https://www.strava.com).\n\nhttps://activities.flopp.net\n\n![Screenshot](https://raw.githubusercontent.com/flopp/activities/master/screenshot.png \"Screenshot\")\n\n\n## Features\n\n- Built-in http server to authenticate with Strava.\n- Fetching of Strava activities.\n- Visited POI (predefined point-of-interest) matching.\n- Filtering by activity name, activity type, min/max distance, visited POI.\n- Running streak computation.\n- Heatmaps.\n\n## Usage\n\n### Installation\n\n```\ngit clone https://github.com/flopp/activities.git\ncd activities\npython3 -m venv .env\n.env/bin/pip install --upgrade pip\n.env/bin/pip install .\n```\n\n### Fetch API Config from Strava (once!)\n\n1. Create an \"Application\" on https://www.strava.com/settings/api; for \"Authorization Callback Domain\" use `localhost`, for all other properties you can basically use whatever you want ;)\n2. Copy `config-example.json` to `config.json` and fill in the \"Client ID\" and the \"Client Secret\" from the \"My API Application\" section on https://www.strava.com/settings/api.\n\n### Authenticate with Strava (once!)\n\n```\n.env/bin/activities \\\n    --auth\n```\n\nNow a web browser window should open with an \"Authenticate with Strava\" button. If not, manually open `localhost:5000` in a web browser of your choice. Click \"Authenticate with Strava\". Allow access for the app.\nThe authentication data is now saved in `data.db` for later use.\n\n### Sync\n\n```\n.env/bin/activities \\\n    --sync \\\n    --browser\n```\n\nThis fetches your Strava data, creates a static website, and opens a browser to view the website.\nYou can also manually point a web browser of your choice to `file:///INSTALLATION_PATH/web/index.html`...\n\n### Visited POI Computation\n\nIf you want to know which points-of-interest (POI), e.g. peaks of mountains, you have visited on each activity, create a JSON file containing the names and lat/lon pairs of your POI, e.g.\n\n```\n{\n    \"Belchen\": {\"lat\": 47.822496, \"lon\": 7.833198},\n    \"Feldberg\": {\"lat\": 47.873986, \"lon\": 8.004683},\n    \"Hinterwaldkopf\": {\"lat\": 47.918979, \"lon\": 8.016681},\n    \"Kandel\": {\"lat\": 48.062517, \"lon\": 8.011391},\n    \"Kybfelsen\": {\"lat\": 47.960851, \"lon\": 7.885071},\n    \"Rosskopf\": {\"lat\": 48.010010, \"lon\": 7.901702},\n    \"Schauinsland\": {\"lat\": 47.911940, \"lon\": 7.898506},\n    \"Schönberg\": {\"lat\": 47.954722, \"lon\": 7.805504}\n}\n```\n\nThen just add the option `--poi mypoi.json` to your `.env/bin/activities` command.\n\n\n## Made with\n\n- [Bulma](https://bulma.io/)\n- [Click](https://click.palletsprojects.com/)\n- [Flask](https://flask.palletsprojects.com/)\n- [heatmap.js](https://www.patrick-wied.at/static/heatmapjs/)\n- [geopy](https://github.com/geopy/geopy)\n- [jQuery](https://jquery.com/)\n- [Leaflet](https://leafletjs.com/)\n- [Leaflet.BeautifyMarker](https://github.com/masajid390/BeautifyMarker)\n- [Leaflet.distance-markers](https://github.com/adoroszlai/leaflet-distance-markers)\n- [Leaflet.encoded](https://github.com/jieter/Leaflet.encoded)\n- [noUiSlider](https://refreshless.com/nouislider/)\n- [polyline](https://github.com/hicsail/polyline)\n- [SQLAlchemy](https://www.sqlalchemy.org)\n- [Stravalib](https://github.com/hozn/stravalib)\n\n## License\n\n```\nMIT License\n\nCopyright (c) 2020 Florian Pigorsch\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflopp%2Factivities","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflopp%2Factivities","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflopp%2Factivities/lists"}