Recently developed a Chrome plugin to enhance the Github experience - GithubX
The code is also open source: https://github.com/riskers/github-plus-extension
Pain points
Solved one of my personal pain points: Github cannot group and tag stars and gists natively, which makes it take me a long time to search for some less commonly used libraries every time.
see the effect
It is now possible to group and tag stars in the background:
Then show it on the github page:
The above is for projects that have already been starred. If you have a new star, a pop-up window will automatically let you operate:
self summary
In fact, this project should have been completed 2 years ago, and it has been delayed until now, mainly because of his serious procrastination.
This time, there are 3 iterations, about a 2-week version, mainly using business time to do this.
what have been learned
- React Hooks are used more deeply this time, not as general as before
- Chrome Extension has been developed, and a scaffold has been deposited. It will be very convenient to make plugins in the future: https://github.com/riskers/react-chrome-boilerplate
Review
Thinking about this technology selection: I thought too much at the beginning, resulting in a very slow progress.
Storage selection
At first, local data was stored in localStorage, but when grouping later, it would be very troublesome to do a relational query similar to One To Many, which I managed to overcome. When it came time to label, I was desperate, because this is a Many To Many relationship, and using localStorage is too troublesome. So, use indexedDB to solve this problem.
State management options
At first I thought it was just a small project and didn't plan on redux. All state management is placed in the context. As a result, because the data management is too complicated, the use of the context makes the state more and more complicated, and the gain outweighs the loss, so it is replaced with redux. Check out this commit for more clarity.
Having said that, if you are interested, give it a try. download link
- BUG commits -> https://github.com/riskers/github-plus-extension/issues
- Discuss requirements -> https://github.com/riskers/github-plus-extension/discussions
Donate to Me | About Me | Job Opportunities
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。