在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
wakatime-sync数据库准备建好MySQL数据库后后,按序号顺序依次执行 参数说明:
quick start本地调试
构建Docker镜像mvn -DskipTests clean packagedocker build -t wf2311/wakatime-sync:1.0 . 使用容器运行docker方式docker run -d -t -p 3040:3040 -v ~/logs/wakatime-sync/:/application/logs \-e JAVA_OPTS='-Xmx256m -Xms64m -Xss256k' \-e SERVER_PORT='3040' \-e WAKATIME_APP_KEY='<WAKATIME_APP_KEY>' \-e WAKATIME_PROXY_URL='false' \-e WAKATIME_FTQQ_KEY='<WAKATIME_FTQQ_KEY>' \-e WAKATIME_DINGDING_KEY='<WAKATIME_DINGDING_KEY>' \-e START_DAY='2020-01-01' \-e MYSQL_URL='jdbc:mysql://<ip:port>/wakatime?characterEncoding=utf8&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=PRC' \-e MYSQL_USERNAME='wakatime' \-e MYSQL_PASSWORD='123456' \--name wakatime-sync wf2311/wakatime-sync:1.0 docker-composedocker-compose.yml文件 version: "3"services: wakatime-sync: image: wf2311/wakatime-sync:1.0 container_name: wakatime-sync environment: - JAVA_OPTS=-Xmx256m -Xms64m -Xss256k - SERVER_PORT=3040 - WAKATIME_APP_KEY=<WAKATIME_APP_KEY> - WAKATIME_PROXY_URL=false - WAKATIME_FTQQ_KEY=<WAKATIME_FTQQ_KEY> - WAKATIME_DINGDING_KEY=<WAKATIME_DINGDING_KEY> - START_DAY=2016-02-01 - MYSQL_URL=jdbc:mysql://<ip:port>/wakatime?characterEncoding=utf8&useUnicode=true&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=PRC - MYSQL_USERNAME=wakatime - MYSQL_PASSWORD=123456 volumes: - ~/Share/logs/wakatime-sync/:/application/logs ports: - "3040:3040" 注意事项jdbc:mysql://<mysql-ip>:<mysql-port>/<mysql-db>?characterEncoding=utf8&...
curl -X POST http://<your-domain>:<your-port>/api/v1/sync \-d day=<sync-days-num> \-d apiKey=<your-wakatime-api-key> WakaTime简介WakaTime 是一款可以记录你的编码时间的工具,目前支持绝大部分主流的 IDE 以及 Chrome 浏览器。 使用步骤
wakatime-sync项目项目简介WakaTime 提供了丰富多样的图表可以多维度地查看自己的编码时间情况。不过作为免费用户,最多只能查看自己最近14天的数据;如果要查看全部的数据,需要 $9/月的订阅费用。 还好 WakaTime 提供了 API 接口,通过接口可以获取到编码时间统计情况的原始数据(作为免费用户还是有只能查看最近14天数据的限制)。 本项目通过 WakaTime 提供的 API 接口,可以把自己的 WakaTime 数据保存在的数据库中,然后利用图表插件展示出来,目前已完成三种类型的图表展示:
项目地址所用技术后端:JDK1.8、SpringBoot、Jodd-HTTP、Thymeleaf; 数据库:MySQL 5.7; 前端:Moment.js、ElementUI、AntV-G2 、Echarts; 项目逻辑比较简单,就是每天会定时通过 WakaTime 的 API 抓取并保存前一天的数据,再通过图标插件展示出来。之后还会完善接口缓存、同步通知等功能; 同时使用了 AntV-G2 和 Echarts 的原因是因为持续时间图可以用 AntV-G2 实现,但日历图用 AntV-G2 实现过于复杂,就采用了用 Echarts 实现日历图; 另外本项目最初是的数据库是 MongoDB ,但是考虑到通用性和易用性后来又换成了 MySQL。MongoDB 版本的代码也实现了相关的同步展示逻辑,代码在 mongodb 分支中。 使用方法替换或设置好 数据库建库脚本位于 数据库使用 MongoDB 的版本位于分支 mongdb 中。 示例地址:https://wakatime.wangfeng.pro/。 消息通知系统中有一个定时任务,会在每天早上09:00会根据配置信息想钉钉或微信发送上一天的编码时间信息;需要在
如果不想使用对应的消息通知,请将 可能会遇到的问题
TODO
更新记录2021-08-31
2021-05-09
2019-02-08
2019-02-02
2019-01-23
2019-01-20
2019-01-17
|
请发表评论