WakaTime数据同步展示工具

栏目: 数据库 · 发布时间: 5年前

内容简介:从16年知道 WakaTime 后就开始使用它来记录自己的编码时间,但作为免费版只能查看最近两周的数据,于是很久之前就写了一个程序同步自己的历史数据,不过一直没找到合适的图表插件像官网那样展示数据信息。前些日子咨询了一下同事,得知了用 antv 可以绘制对应的图表数据,刚好现在也处于失业阶段,就花了几天时间又重新做了一个项目用于同步和展示 WakaTime 数据。

从16年知道 WakaTime 后就开始使用它来记录自己的编码时间,但作为免费版只能查看最近两周的数据,于是很久之前就写了一个程序同步自己的历史数据,不过一直没找到合适的图表插件像官网那样展示数据信息。前些日子咨询了一下同事,得知了用 antv 可以绘制对应的图表数据,刚好现在也处于失业阶段,就花了几天时间又重新做了一个项目用于同步和展示 WakaTime 数据。

WakaTime

WakaTime简介

WakaTime 是一款可以记录你的编码时间的工具,目前支持绝大部分主流的 IDE 以及 Chrome 浏览器。

使用步骤

  1. 注册 WakaTime 账号;
  2. 官网 找到对应的 IDE 插件,按照步骤安装 WakaTime 插件(下图中灰色表示目前官方还不支持):

WakaTime数据同步展示工具

  1. 个人设置 页面复制 Secret API Key ,填入对应的 WakaTime 插件中;

WakaTime数据同步展示工具

  1. 过一段时间后,你就可以在 WakaTime 网站上看到你的编码情况,如下图所示:

WakaTime数据同步展示工具

wakatime-sync项目

项目简介

WakaTime 提供了丰富多样的图表可以多维度地查看自己的编码时间情况。不过作为免费用户,最多只能查看自己最近14天的数据;如果要查看全部的数据,需要 $9/月的订阅费用。

还好 WakaTime 提供了 API 接口,通过接口可以获取到编码时间统计情况的原始数据(作为免费用户还是有只能查看最近14天数据的限制)。

本项目通过 WakaTime 提供的 API 接口,可以把自己的 WakaTime 数据保存在的数据库中,然后利用图表插件展示出来,目前已完成三种类型的图表展示:

  • 每日项目持续时间图:
    WakaTime数据同步展示工具
  • 时间范围内活动情况:
    WakaTime数据同步展示工具
  • 每日编码耗时日历图:
    WakaTime数据同步展示工具

项目地址

所用技术

后端:JDK1.8、SpringBoot、Jodd-HTTP、Thymeleaf;

数据库:MySQL 5.7;

前端:Moment.js、ElementUI、AntV-G2 、Echarts;

通知服务: Server酱钉钉机器人

项目逻辑比较简单,就是每天会定时通过 WakaTime 的 API 抓取并保存前一天的数据,再通过图标插件展示出来。之后还会完善接口缓存、同步通知等功能;

同时使用了 AntV-G2 和 Echarts 的原因是因为持续时间图可以用 AntV-G2 实现,但日历图用 AntV-G2 实现过于复杂,就采用了用 Echarts 实现日历图;

另外本项目最初是的数据库是 MongoDB ,但是考虑到通用性和易用性后来又换成了 MySQL。MongoDB 版本的代码也实现了相关的同步展示逻辑,代码在 mongodb 分支中。

使用方法

替换或设置好 src/main/resources/application.yml 配置文件中的 wakatime.app.keyspring.datasource.* 相关数据库配置,采用 maven 打包的方式安装即可,支持 Docker 方式安装。

数据库建库脚本位于 sql/wakatime_sync.sql 中。

数据库使用 MongoDB 的版本位于分支 mongdb 中。

示例地址: https://wakatime.wangfeng.pro/

消息通知

系统中有一个定时任务,会在每天早上09:00会根据配置信息想钉钉或微信发送上一天的编码时间信息;

需要在 application.yml 配置对应的参数:

  • Server酱微信通知:按照 Server酱网站说明 获得一个 SCKEY ,设置成 wakatime.ftqq-key 的值;
  • 钉钉机器人通知:在要获得提醒的钉钉群里面生成一个 自定义机器人 ,将机器人的 Hook 地址中的 access_token 的值设置成 wakatime.dingding-key 的值;

如果不想使用对应的消息通知,请将 application.yml 中对应的参数注释掉或将值置为空


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

OpenCV3编程入门

OpenCV3编程入门

毛星云 / 电子工业出版社 / 2015-2 / 79

OpenCV在计算机视觉领域扮演着重要的角色。作为一个基于开源发行的跨平台计算机视觉库,OpenCV实现了图像处理和计算机视觉方面的很多通用算法。本书以当前最新版本的OpenCV最常用最核心的组件模块为索引,深入浅出地介绍了OpenCV2和OpenCV3中的强大功能、性能,以及新特性。书本配套的OpenCV2和OpenCV3双版本的示例代码包中,含有总计两百多个详细注释的程序源代码与思路说明。读者......一起来看看 《OpenCV3编程入门》 这本书的介绍吧!

HTML 压缩/解压工具
HTML 压缩/解压工具

在线压缩/解压 HTML 代码

html转js在线工具
html转js在线工具

html转js在线工具

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具