You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
最开始本地数据是存在 localStorage 里的,不过后面分组的时候,要做到类似 One To Many 的关系查询,会很麻烦,我勉强克服了。直到要打标签的时候,我绝望了,因为这是 Many To Many 关系,用 localStorage 太麻烦了。于是,使用 indexedDB 解决这种问题。
最近开发了一款增强 Github 体验的 Chrome 插件 - GithubX
代码也开源了: https://github.com/riskers/github-plus-extension
痛点
解决了我个人的一个痛点:Github 原生对 stars 和 gists 无法分组和打标签,这样让我每次在查一些不常用库的时候,总是会花很长时间查找。
看看效果
可以在后台在 star 分组和打标签了:
然后在 github 页面展示出来:
上面是对已经 star 过的项目,如果你有新的 star,会自动弹窗让你操作:
自我总结
这个项目其实应该 2 年前就做完了,一直拖到现在,也主要是自己的拖验症比较严重。
这次迭代了 3 个版本,差不多 2 周一个版本,主要用业务时间来做这件事情。
学到了什么
复盘
这次技术选型的思考:一开始想得太多,导致进度很慢。
存储选型
最开始本地数据是存在 localStorage 里的,不过后面分组的时候,要做到类似 One To Many 的关系查询,会很麻烦,我勉强克服了。直到要打标签的时候,我绝望了,因为这是 Many To Many 关系,用 localStorage 太麻烦了。于是,使用 indexedDB 解决这种问题。
状态管理选型
一开始我认为这只是一个小项目,没打算上 redux。所有的状态管理都放在 context 里,结果,因为数据管理太复杂,使用 context 反而让状态越来越复杂,得不偿失,于是用 redux 替换。查看这个 commit会更清楚。
说了这么多,如果你感兴趣,不妨试试吧。下载地址
The text was updated successfully, but these errors were encountered: