GithubHelp home page GithubHelp logo

flopp / activities Goto Github PK

View Code? Open in Web Editor NEW
27.0 27.0 2.0 436 KB

Your self-hosted activities overview (running, cycling, ...). Synced with Strava.

Home Page: https://activities.flopp.net

License: MIT License

Makefile 0.94% Python 26.08% HTML 22.91% JavaScript 46.76% CSS 3.31%
leaflet strava stravalib

activities's Introduction

Hi there, I'm Florian from Freiburg ๐Ÿ‡ฉ๐Ÿ‡ช

I'm working as a senior software engineer on formal verification tools at Siemens EDA.

flopp's github stats

Some of my (hobby) projects:

  • flopp.net, a mapping SPA specifically targeting the needs of geocachers
  • freiburg.run, a website listing all the running events of my region (Freiburg, Germany)
  • Unicode Explorer, an online unicode table

activities's People

Contributors

flopp avatar yihong0618 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

Forkers

djailla rhino0221

activities's Issues

Extend filters

  • add "Type" filter (e.g. show all activities of type "Hike")
  • add "Distance" filter (e.g. show all activities with length > 21km)

ERROR: Failed building wheel for pycairo

Following your README.md I ran

git clone https://github.com/flopp/activities.git
cd activities
python3 -m venv .env
.env/bin/pip install --upgrade pip
.env/bin/pip install .

on a Ubuntu 21.04 container on proxmox as well as WSL Ubuntu, which resulted in the following error

Processing /root/activities
Preparing metadata (setup.py) ... done
Collecting click
Using cached click-8.0.3-py3-none-any.whl (97 kB)
Collecting flask
Using cached Flask-2.0.2-py3-none-any.whl (95 kB)
Collecting geopy
Using cached geopy-2.2.0-py3-none-any.whl (118 kB)
Collecting polyline
Using cached polyline-1.4.0-py2.py3-none-any.whl (4.4 kB)
Collecting py-staticmaps[cairo]
Using cached py_staticmaps-0.4.0-py3-none-any.whl
Collecting sqlalchemy
Using cached SQLAlchemy-1.4.27-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.6 MB)
Collecting stravalib
Using cached stravalib-0.10.4-py3-none-any.whl
Collecting itsdangerous>=2.0
Using cached itsdangerous-2.0.1-py3-none-any.whl (18 kB)
Collecting Jinja2>=3.0
Using cached Jinja2-3.0.3-py3-none-any.whl (133 kB)
Collecting Werkzeug>=2.0
Using cached Werkzeug-2.0.2-py3-none-any.whl (288 kB)
Collecting geographiclib<2,>=1.49
Using cached geographiclib-1.52-py3-none-any.whl (38 kB)
Collecting six>=1.8.0
Using cached six-1.16.0-py2.py3-none-any.whl (11 kB)
Collecting requests
Using cached requests-2.26.0-py2.py3-none-any.whl (62 kB)
Collecting python-slugify
Using cached python_slugify-5.0.2-py2.py3-none-any.whl (6.7 kB)
Collecting PILLOW
Using cached Pillow-8.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.1 MB)
Collecting appdirs
Using cached appdirs-1.4.4-py2.py3-none-any.whl (9.6 kB)
Collecting s2sphere
Using cached s2sphere-0.2.5-py2.py3-none-any.whl (23 kB)
Collecting svgwrite
Using cached svgwrite-1.4.1-py3-none-any.whl (66 kB)
Collecting pycairo
Using cached pycairo-1.20.1.tar.gz (344 kB)
Installing build dependencies ... done
Getting requirements to build wheel ... done
Preparing metadata (pyproject.toml) ... done
Collecting greenlet!=0.4.17
Using cached greenlet-1.1.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (153 kB)
Collecting units
Using cached units-0.7-py3-none-any.whl
Collecting pytz
Using cached pytz-2021.3-py2.py3-none-any.whl (503 kB)
Collecting arrow
Using cached arrow-1.2.1-py3-none-any.whl (63 kB)
Collecting MarkupSafe>=2.0
Using cached MarkupSafe-2.0.1-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl (30 kB)
Collecting charset-normalizer~=2.0.0
Using cached charset_normalizer-2.0.7-py3-none-any.whl (38 kB)
Collecting urllib3<1.27,>=1.21.1
Using cached urllib3-1.26.7-py2.py3-none-any.whl (138 kB)
Collecting certifi>=2017.4.17
Using cached certifi-2021.10.8-py2.py3-none-any.whl (149 kB)
Collecting idna<4,>=2.5
Using cached idna-3.3-py3-none-any.whl (61 kB)
Collecting python-dateutil>=2.7.0
Using cached python_dateutil-2.8.2-py2.py3-none-any.whl (247 kB)
Collecting text-unidecode>=1.3
Using cached text_unidecode-1.3-py2.py3-none-any.whl (78 kB)
Collecting future>=0.15
Using cached future-0.18.2-py3-none-any.whl
Using legacy 'setup.py install' for activities, since package 'wheel' is not installed.
Building wheels for collected packages: pycairo
Building wheel for pycairo (pyproject.toml) ... error
ERROR: Command errored out with exit status 1:
command: /root/activities/.env/bin/python3 /root/activities/.env/lib/python3.9/site-packages/pip/_vendor/pep517/in_process/_in_process.py build_wheel /tmp/tmp90487_lh
cwd: /tmp/pip-install-fasvdjhp/pycairo_0922a36a62564a85b4cd2185e1e4f6df
Complete output (12 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.9
creating build/lib.linux-x86_64-3.9/cairo
copying cairo/init.py -> build/lib.linux-x86_64-3.9/cairo
copying cairo/init.pyi -> build/lib.linux-x86_64-3.9/cairo
copying cairo/py.typed -> build/lib.linux-x86_64-3.9/cairo
running build_ext
'pkg-config' not found.
Command ['pkg-config', '--print-errors', '--exists', 'cairo >= 1.15.10']

ERROR: Failed building wheel for pycairo
Failed to build pycairo
ERROR: Could not build wheels for pycairo, which is required to install pyproject.toml-based projects

Always refetch the latest activity

Since the latest Strava activity is the one that is probably being edited later on (e.g. title change, etc.), it would be nice if it was refetched/synced on each call.
This is especially important when running in an unsupervised mode (e.g. via a cronjob).

Display statistics about the filtered activities

Currently, the filter page only displays the number of matching activities.
Add some more statistics about the matching activities, e.g.

  • Total, max, average distance
  • Total, max, average elevation gain
  • Total, max, average moving time
    ...

How to extend the DB schema?

For #42 the DB schema needs to be extended. How to do this in Sqlalchemy such that old DB files can still be loaded (and extended on the fly)?

Add prev/next buttons for mobile view

The map is not usable in mobile view when the activities list/sidebar is open.
-> show prev/next buttons to jump to the previous/next activity when the sidebar is closed.

Full multi-user website

Transform the project into a full multi-user website, where anyone can connect to with their Strava account.

Add tabular view

similar to Strava's "Training Log":

  • Each row represents a week
  • Columns are days of the week
  • For each row, the total distance is shown
  • ...

Display POI

Display all points-of-interest from the configures POI file on the map.

auth error

Hi~
I just get strava client id and client secret
but when I execute the command .env/bin/activities --auth
I got error in the browser
jinja2.exceptions.TemplateNotFound
jinja2.exceptions.TemplateNotFound: main.html
png like this maybe I missed something?
image

Enhance Statistics Tab

  • Add links to the "max" entries (to see which activity has this max value)
  • Add activity type histogram
  • Add POI/category histogram

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.