{"id":46410241,"url":"https://github.com/veloek/tevling","last_synced_at":"2026-03-05T13:13:13.763Z","repository":{"id":219492952,"uuid":"746862720","full_name":"veloek/tevling","owner":"veloek","description":"Web application for creating challenges based on Strava activities","archived":false,"fork":false,"pushed_at":"2026-03-03T22:23:37.000Z","size":1081,"stargazers_count":3,"open_issues_count":15,"forks_count":4,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-04T02:19:14.125Z","etag":null,"topics":["blazor","competition","exercise","strava"],"latest_commit_sha":null,"homepage":"https://tevling.com","language":"C#","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/veloek.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-01-22T20:24:03.000Z","updated_at":"2026-03-03T21:04:05.000Z","dependencies_parsed_at":"2024-04-24T20:43:55.846Z","dependency_job_id":"25b165ab-4310-47c6-b8b5-36a0ecfa299f","html_url":"https://github.com/veloek/tevling","commit_stats":null,"previous_names":["veloek/tevling"],"tags_count":41,"template":false,"template_full_name":null,"purl":"pkg:github/veloek/tevling","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veloek%2Ftevling","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veloek%2Ftevling/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veloek%2Ftevling/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veloek%2Ftevling/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/veloek","download_url":"https://codeload.github.com/veloek/tevling/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/veloek%2Ftevling/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30127439,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-05T12:40:50.676Z","status":"ssl_error","status_checked_at":"2026-03-05T12:39:32.209Z","response_time":93,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["blazor","competition","exercise","strava"],"created_at":"2026-03-05T13:13:13.018Z","updated_at":"2026-03-05T13:13:13.746Z","avatar_url":"https://github.com/veloek.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![Docker Image CI](https://github.com/veloek/tevling/actions/workflows/docker-image.yml/badge.svg)](https://github.com/veloek/tevling/actions/workflows/docker-image.yml)\n\n# Tevling\n\nUse activities from Strava to challenge your fellow athletes in a friendly competition.\n\nSimply sign in with your Strava account and your activities will be automatically synced.\n\n## User handling and authentication\n\nTevling uses Strava as it's identity provider, requiring only email and name of the contestant.\n\nParts of activity information necessary to take part in challenges are stored in Tevling's database.\n\n## Strava integration\n\nThe user will be asked to allow Tevling access to workout data from Strava. Once access is granted,\nall new workout data will be pushed from Strava to Tevling through a webhook subscription.\n\n## Installation\n\nThe app is published as a Docker container and can be run standalone or in a kubernetes cluster.\n\n### Docker\n\n```\ndocker run --volume /tmp/tevling:/app/storage -p 8080:8080 veloek/tevling \\\n  --env STRAVACONFIG__CLIENTID=${STRAVA_CLIENTID} \\\n  --env STRAVACONFIG__CLIENTSECRET=${STRAVA_CLIENTSECRET} \\\n  --env STRAVACONFIG__REDIRECTURI=${STRAVA_REDIRECTURI} \\\n  --env STRAVACONFIG__SUBSCRIPTIONID=${STRAVA_SUBSCRIPTIONID} \\\n  --env STRAVACONFIG__VERIFYTOKEN=${STRAVA_VERIFYTOKEN}\n```\n\n### Helm\n\nA Helm chart is available in the `helm` directory. To install, clone the repo and run:\n\n```\nhelm upgrade tevling --install --namespace tevling --create-namespace helm \\\n    --set-string strava.clientId=${STRAVA_CLIENTID} \\\n    --set-string strava.clientSecret=${STRAVA_CLIENTSECRET} \\\n    --set-string strava.redirectUri=${STRAVA_REDIRECTURI} \\\n    --set-string strava.subscriptionId=${STRAVA_SUBSCRIPTIONID} \\\n    --set-string strava.verifyToken=${STRAVA_VERIFYTOKEN}\n```\n\nThis will configure a deployment, a secret and a pvc in addition to a service/ingress for incoming\ntraffic. See configuration options in `values.yaml`.\n\n## Contribution\n\nThe app is based on ASP.NET using the Blazor framework. Simplicity is highly valued to have the app\nmaintainable as it's not anybody's dayjob.\n\nDebugging should work out of the box in Visual Studio or VS Code (with C# extensions), but to simply\nbuild (and run) the app only the .NET 8 SDK is required. Use `dotnet watch` to detect changes.\n\n```\ndotnet run --project Tevling/Tevling.csproj\n```\n\nBug reports and PRs are very welcome!\n\n## License\n\nGNU GPLv3 or later.\n\n## Copyright\n\nCopyright © 2025 - Tevling Contributors\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveloek%2Ftevling","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fveloek%2Ftevling","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fveloek%2Ftevling/lists"}