robiningelbrecht/strava-activities-template

dev-master 2024-09-24 06:46 UTC

This package is auto-updated.

Last update: 2024-09-24 06:46:54 UTC


README

Strava

CI Codecov.io License PHPStan Enabled PHP

Strava活动模板

此存储库包含生成您自己的Strava统计数据页面的模板代码。只需按照以下步骤操作。如果您在执行任何步骤时遇到任何问题,请随时提交问题。我将很乐意帮助您 💅。

🦄 示例

🪄 您需要什么

  • Strava API密钥
  • GitHub账户

🛠️ 安装

  • 确保您已使用GitHub账户登录
  • 首先,显示一些❤️并给此存储库加星标
  • 通过点击这里并填写所需字段,使用此模板创建一个新的存储库
  • 转到您新创建的存储库的操作机密和变量页面(https://github.com/[YOUR-GITHUB-USERNAME]/[REPOSITORY-NAME]/settings/secrets/actions)。请保持此页面打开,您需要在此处添加几个机密
  • 接下来,转到您的Strava API设置页面。复制客户端ID客户端密钥Strava API密钥
  • 创建两个新的存储库机密存储库机密
    • 名称:STRAVA_CLIENT_ID,:从Strava API设置页面复制的客户端ID
    • 名称:STRAVA_CLIENT_SECRET,:从Strava API设置页面复制的客户端密钥
  • 现在您需要获取一个Strava API刷新令牌。这可能是最困难的一步。
    • 转到https://developers.strava.com/docs/getting-started/#d-how-to-authenticate并滚动到"仅用于演示目的,以下是如何使用cURL重现上述图形的步骤:"
    • 按照那里解释的11个步骤操作
    • 确保在第2步中将范围设置为activity:read_all,以确保您的刷新令牌可以访问所有活动刷新令牌
    • 使用您获取的刷新令牌创建一个存储库机密:名称:STRAVA_REFRESH_TOKEN,:您刚刚获取的刷新令牌
  • 您应该有这些存储库机密:存储库机密
  • 在此之后,您需要确保自动化的工作流程能够将更改推送到您的存储库。
  • 您需要做的最后一件事是编辑工作流程文件 update-strava-activities.ymlupdate-ftp.ymlupdate-key-value-store.yml
    • 导航到 https://github.com/[YOUR-GITHUB-USERNAME]/[REPOSITORY-NAME]/edit/master/.github/workflows

    • 编辑文件 编辑工作流程

    • 取消注释第4行和第5行,通过删除 # 字符

    • 向下滚动到

      name: Initialize GIT
      run: |
        git config --global user.name 'YOUR_GITHUB_USERNAME'
        git config --global user.email 'YOUR_GITHUB_USERNAME@users.noreply.github.com'
      • YOUR_GITHUB_USERNAME 替换为您自己的用户名
      • 点击右上角的 提交更改
    • 对其他两个文件也进行相同的操作

配置

在运行第一个活动导入之前,您需要

!!! 在运行另一个工作流程之前,请务必等待当前工作流程完成 !!!

☁️ 托管 HTML 版本

还有带有更多功能的 HTML 版本可供选择。您可以在 https://vercel.com 上免费托管

  • 创建账户并登录
  • 确保您连接到您的 GitHub 账户 (https://vercel.com/account/login-connections)
  • 创建一个新项目并引用您的仓库
  • 对于 框架预设 设置,使用 其他
  • 请确保根目录设置为build/html
  • 您可以取消勾选选项在构建步骤中包含根目录外的源文件。
  • 您应该可以开始了

🧐 一些需要考虑的事项

  • 添加到模板的任何新功能或更新都将自动出现在您的存储库中 🪄
  • 只有(虚拟)骑行被导入,其他运动对这些统计数据不相关
  • 由于技术(Strava)限制,并非所有Strava挑战都可以导入。只有您公共资料上可见的挑战可以导入(请确保您的资料是公开的,否则这将无法工作)
  • Strava统计数据将每天重新计算一次。如果您想手动重新计算这些数据,请转到https://github.com/[YOUR-GITHUB-USERNAME]/[REPOSITORY-NAME]/actions/workflows/update-strava-activities.yml并点击右侧的运行工作流程
  • 首次运行导入可能需要一些时间,具体取决于您在Strava上的活动数量。Strava的API每15分钟有100个请求的限制,每天有1000个请求的限制。我们必须确保不超过这个限制。请参阅https://developers.strava.com/docs/rate-limits/。如果您有超过500个活动,您可能会遇到每日请求限制。如果您遇到这种情况,应用程序将在第二天(或之后)导入剩余的活动。
  • 如果您遇到以下错误App\Infrastructure\Exception\EntityNotFound: KeyValue "athlete_birthday" not found,这意味着您尚未设置您的生日。运行“更新运动员生日”工作流程

❌ 在更新FTP / KeyValue存储时遇到错误?

这是因为我在没有意识到的情况下引入了破坏性变更。是的,我知道很愚蠢。GitHub不允许您从模板自动更新工作流程文件,所以您必须手动这样做。

请将以下文件更新到您自己的存储库的最新版本

💡 功能请求?

对于任何反馈、帮助或功能请求,请新建一个问题

💻 本地开发

如果您想自己添加功能或修复错误,您可以在本地机器上设置项目。只需克隆此git存储库,然后您就可以开始了。

该项目可以在单个使用PHP的Docker容器中运行。还有一个Make文件来...简化操作

# Run a docker-compose command.
make dc cmd="run"

# Run "composer" command in the php-cli container.
make dcr cmd="composer"

# Run an app console command
make console arg="app:some:command"

# Run the test suite.
make phpunit

# Run PHPStan
make phpstan

有关其他有用的Make命令,请参阅Makefile

📓 变更日志

此项目的所有重大变更都将在此文件中记录。

[2023-01-17]

  • 添加了每周统计数据图表中的骑行小时数
  • 修复了首次运行时导入段落崩溃的bug(感谢dylix的反馈)

[2023-01-13]

  • 添加了年度统计数据

[2023-01-05]

  • 重构了活动和段落概览以使其更快

[2023-01-01]

  • 添加了热图的第一版本

[2023-12-28]

  • 在活动模态中显示段落
  • 一些小的改进和bug修复

[2023-12-24]

  • 修复了在非Zwift虚拟活动中渲染HTML时崩溃的bug。(感谢pdoteter

[2023-12-23]

  • 删除孤立的活动(感谢mdleye

[2023-12-21]

  • 将数据库拆分为多个数据库,每个数据库对应于有数据的一年。(感谢pdoteter使用大量数据集进行测试)

[2023-12-19]

  • 渲染和显示段落和努力

[2023-12-18]

  • 将DB大小减少了50%以上
  • 导入和处理段落

[2023-12-03]

  • 添加了挑战一致性表格(感谢 rubenbuysse

[2023-12-01]

  • 为活动添加了月历视图
  • 修复了路由器中的错误

[2023-11-25]

  • 将齿轮统计数据移至单独页面

[2023-11-18]

  • 添加了功率和心率分布图

[2023-11-13]

  • 使用模态更改活动抽屉

[2023-11-09]

  • 将平均速度和距离添加到多个统计数据中

[2023-11-07]

  • 允许导入挑战/奖杯历史记录
  • 修复了双挑战导入问题

[2023-11-04]

  • 改进了瀑布布局
  • 在标签上显示照片数量
  • 修复了工作流程数据库错误(感谢 mdleye

[2023-11-02]

  • 添加了“心率区域时间”图表
  • 优化了现有图表

[2023-10-30]

  • 渲染FTP历史图表

[2023-10-29]

  • 显示FTP历史记录
  • 更精确的活动强度计算

[2023-10-26]

  • 更好的移动时间格式化

[2023-10-25]

  • 为图表添加了更好的工具提示

[2023-10-25]

  • 显示最长连续 streak

[2023-10-24]

  • 在活动抽屉中添加了活动流图表

[2023-10-21]

  • 将天气数据迁移到单独字段

[2023-10-20]

  • 添加了距离分解表
  • 添加了白天统计数据
  • 月度统计数据:过滤掉没有活动的月份(感谢 mdleye
  • 在活动列表中添加排序
  • 重构了周统计数据

[2023-10-19]

  • 修复了部署新模板版本时的错误

[2023-10-15]

  • 模板的初始稳定版本

[2023-10-12]

  • 在导入大量Strava活动时修复了错误(感谢 rubenbuysse 进行测试)