看了下,微人事(https://github.com/lenve/vhr)项目 star 数超 10k 啦,松哥第一个 star 数过万的开源项目就这样诞生了。

微人事 star 数超 10k 啦!聊聊如何打造一个 star 数超 10k 的开源项目_前后端分离


两年前差不多就是现在这个时候,松哥所在的公司业绩下滑严重,关门倒闭已成定局,很多同事在谋划的新的出路,松哥则被公司留下来善后,在一段并不太忙碌的日子里,做了两个 Spring Boot + Vue 的前后端分离开源项目,以期能给自己来年找工作增加一点筹码,没想到这两个项目后来受到很多关注,也帮助了很多人。有不少小伙伴在公司使用微人事项目做脚手架开发项目,也有国内 top20 的高校研究生借鉴微人事做毕设,我自己也因此收到一些大厂的橄榄枝,可以说还是收获满满。

关于这个项目诞生的故事,松哥之前写过一篇文章,感兴趣的小伙伴可以看看:

  • 公司倒闭 1 年了,而我当年的项目上了 GitHub 热榜

今天,我想和小伙伴们聊聊如何从零开始打造一个 star 数过万的开源项目。松哥把这些经验总结为三点:

  • 文档详细

  • 项目有料

  • 适当宣传

这些经验不是什么惊世骇俗的大道理,都很普通,关键在于执行。

1. 文档详细

其实在做微人事和 V 部落之前,松哥在 GitHub 上已经做过多个开源项目了,比较有意思的一个是一个 Android 上的自定义控件,我做了一个歌词展示的控件,这个控件引入到自己的项目中以后,可以根据当前歌曲的播放进度动态滚动歌词,效果如如下:

微人事 star 数超 10k 啦!聊聊如何打造一个 star 数超 10k 的开源项目_前后端分离_02


还有一个比较好玩的就是 Android 上自动抢红包的 App。不过这些开源工具和项目最终都石沉大海了。

究其原因,我觉得是自己对待这些项目不够认真,项目开源之后基本上都没有再继续维护了,一个项目提交次数一般都是个位数,项目做完之后,写一篇博客介绍下就算完事了。一个自己都不怎么重视的项目,其实很难引起别人的重视。

所以在 V 部落和微人事中,我就吸取教训,尽量把项目的文档写的详细一些,让不懂前后端分离开发的小伙伴看到我写的开发文档后,就能够快速理清项目的思路。就这样,我每写一个功能点,就写一篇技术文档,微人事项目前前后后一共写了 30 多篇文档:

微人事 star 数超 10k 啦!聊聊如何打造一个 star 数超 10k 的开源项目_开源项目_03


同时我考虑到很多小伙伴第一次接触到这个项目,一个庞然大物不好处理,因此我在每一次项目提交之前,都会对项目打一个 tag,这样大家通过 ​​git clone​​ 命令获取到项目之后,就可以通过 tag 非常方便的定位到项目的任意时刻,例如只想看登录设计的,可以根据文档介绍回到 v20180107 这个版本:

微人事 star 数超 10k 啦!聊聊如何打造一个 star 数超 10k 的开源项目_github_04


小伙伴也可以点击 GitHub 上的 release 下载不同时期的项目。我一开始担心有的小伙伴不熟悉 Git 上的 tag 操作,还针对此写了个教程,就是上面文档的第 17 篇。

可以说,这个项目我从头到尾考虑了很多小伙伴们可能遇到的问题,不是自嗨,确实是希望能够带着小伙伴们一起飞。

这么详细的文档当然也得到了小伙伴和一些平台的认可,项目刚刚发布的时候,也就是 2018 年年初的时候,慕课网在它的官方知乎账号、微博账号上都有推过我的介绍项目的文章,当时这个项目就受到了很多小伙伴的关注,收获了不少 star,小伙伴们的关注也鼓励我继续把这个项目向前推进。

这是我介绍的第一点经验,文档详细。

2. 项目有料

项目有料,也就是这个项目对大家而言是有价值的,能够真正帮到大家。

很多小伙伴看到微人事会觉得奇怪,这个项目还有一些功能没有实现,怎么就有这么多人关注呢?其实原因很简单,这个项目的价值不在于它的业务,而在于它解决了很多小伙伴在前后端分离开发中遇到的问题,这也是我做这个项目的初衷之一。

作为一个 Java 攻城狮,我非常明白很多小伙伴去接触 Vue、接触 Nodejs、接触 SPA 以及接触前端工程化这些概念时所面临的困惑,因为这些困惑我也曾经遇到过。

例如前后端分离后,开发环境下前后端如何进行数据交互、权限管理怎么做、文件上传怎么做、项目怎么部署等等,事无巨细,我觉得小伙伴们可能会困惑的地方,我在微人事中直接用代码做出样例,然后再辅以详细的文字解释,这样对于大部分小伙伴而言,都能够快速理解这个项目了。

这个项目建立之初,一开始就定位是一个学习项目,目的就是帮助大家建立前后端分离开发知识体系,搞定前后端分离开发中常见的坑,​因此,一旦将项目的框架搭建成功,大家理解了前后端分离架构中的各个细节,剩下的业务不过是堆代码,技术上已经没有挑战了,这也是这个项目最近一段时间更新慢的原因。

这是我和大家分享的第二点经验,项目要有价值。

3. 适当宣传

微人事和 V 部落刚刚上线的时候,我的相关文章被慕课网猛推过几次,当时就让微人事受到了比较多的关注,印象中,大概不到一个月的时间,star 数就超过 1k 了。

由于文档比较详细,很多大佬在整理相关资料的时候都会加上微人事项目,很多小伙伴可能见过标题类似下面这样的文章

  • 13个优秀的 Spring Boot 学习项目

  • 开源的13个Spring Boot 优秀学习项目!

  • 六月份 GitHub 上最受欢迎的开源项目

  • 七月份 GitHub 上最受欢迎的开源项目

....

这一类的文章大部分都会收录微人事项目,进而将微人事项目曝光给更多小伙伴去学习。

今年七月份,有感于 1 年前公司倒闭时的无助,松哥写了一篇文章介绍了微人事项目的诞生过程:

  • 公司倒闭 1 年了,而我当年的项目上了 GitHub 热榜

没想到这篇文章被很多大佬转发,单单在知乎上这篇文章的阅读量就超过 12w,那一段时间,微人事项目也被很多有需要的小伙伴关注到了。

宣传这一块,我的经验是如果项目确实帮助到了很多小伙伴,对很多人而言有价值,你会发现平台,一些有影响力的技术牛人会自然的帮你推。​所以,我还是建议将重心放在项目上。所谓家有梧桐树,引得凤凰来。

这是我介绍的第三点经验,适当宣传。

好了,一点点不太成熟的经验分享给小伙伴们,希望能帮到大家。

微人事 star 数超 10k 啦!聊聊如何打造一个 star 数超 10k 的开源项目_前后端分离_05


微人事 star 数超 10k 啦!聊聊如何打造一个 star 数超 10k 的开源项目_开源项目_06