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

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

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

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

  • 文档详细
  • 项目有料
  • 适当宣传

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

1. 文档详细

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

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

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

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

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

小伙伴也可以点击 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 年前公司倒闭时的无助,松哥写了一篇文章介绍了微人事项目的诞生过程:

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

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

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

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

微人事 star 数超 10k,如何打造一个 star 数超 10k 的开源项目的更多相关文章

  1. 异数OS 星星之火(三)--异数OS-织梦师云 微服务编写入门

    . 异数OS 星星之火(三)–异数OS-织梦师云 微服务编写入门 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 异数OS社区QQ群: 6 ...

  2. 打造一个高逼格的android开源项目——小白全攻略 (转)

    转自:打造一个高逼格的android开源项目 小引子 在平时的开发过程中,我们经常会查阅很多的资料,最常参考的是 github 的开源项目.通常在项目的主页面能看到项目的简介和基本使用,并且时不时能看 ...

  3. Java 前后端分离项目:微人事

    本文适合刚学习完 Java 语言基础的人群,跟着本文可了解和运行项目,本示例是在 Windows 操作系统下演示. 本文作者:HelloGitHub-秦人 大家好!这里是 HelloGitHub 推出 ...

  4. 微人事项目-mybatis-持久层

    摘要 最近将微人事这个开源项目进行了复现,这篇文章记录mybaits访问数据库这一块. 其中MyBatis是一个流行的持久层框架,支持自定义SQL.存储过程和高级映射.MyBatis消除了几乎所有的J ...

  5. RethinkDB创始人教你如何打造一个伟大的互联网产品

    关于作者 我叫Slava Akhmechet,本人是 RethinkDB 的创始人之一,RethinkDB是开源,分布式数据库,旨在帮助开发人员与运营商在打造实时应用时处理无结构数据 如何打造一个伟大 ...

  6. 【前端vue进阶实战】:从零打造一个流程图、拓扑图项目【Nuxt.js + Element + Vuex】 (一)

    本系列教程是用Vue.js + Nuxt.js + Element + Vuex + 开源js绘图库,打造一个属于自己的在线绘图软件,最终效果:topology.le5le.com .如果你觉得好,欢 ...

  7. Python分布式爬虫打造搜索引擎完整版-基于Scrapy、Redis、elasticsearch和django打造一个完整的搜索引擎网站

    Python分布式爬虫打造搜索引擎 基于Scrapy.Redis.elasticsearch和django打造一个完整的搜索引擎网站 https://github.com/mtianyan/Artic ...

  8. 硬核! Github上 ,star超高的Java 开源项目分享给你!

    Awsome JavaGreat Java project on Github(Github 上非常棒的 Java 开源项目). English Version 大家都知道 Github 是一个程序员 ...

  9. 揭开周获 18k star 开源项目的神秘面纱「GitHub 热点速览 v.22.28」

    本周 GitHub Trending 的项目重量十足,比如标题的一周获得 18k+ 的高性能 JS Runtime--bun,用性能来体现了它的"含金量".同样有重量的还有一行代码 ...

随机推荐

  1. window对象,BOM,window事件,延时器,DOM

    01.定时器补充 function fn(){    console.log(1);}setInterval("fn()",100);  //定时器调用匿名函数/*   funct ...

  2. 网络编程之TCP/IP各层详解

    网络编程之TCP/IP各层详解 我们将应用层,表示层,会话层并作应用层,从TCP/IP五层协议的角度来阐述每层的由来与功能,搞清楚了每层的主要协议,就理解了整个物联网通信的原理. 首先,用户感知到的只 ...

  3. 初玩Docker

    Docker 和VM的区别 Docker就是类似于一个打包好的环境,相关的服务都安装在里面,可以直接使用的. VM就相当于另外一套独立的系统,独立的IP,虚拟硬件. 要使用就需要单独构建一套才可以. ...

  4. Kubernetes --- 详细介绍和架构详解

    Kubernetes是一个跨主机集群的开源的容器调度平台,它可以自动化应用容器的部署,扩展和操作,提供以容器为中心的基础架构 目录 一. Kubernetes用途 二. Kubernetes特点 三. ...

  5. Qt之键盘事件监听-实时响应大小写Capslock按键

    目录 一.开篇 二.效果展示 三.实现思路 1.重写QLlinEdit 2.全局应用程序事件 3.windows钩子 四.相关文章 原文链接:Qt之键盘事件监听-实时响应大小写Capslock按键 一 ...

  6. WAP自助建站平台娃派宣布关闭 感谢建站之路有你的启蒙

    如题所示的这篇文章是我心血来潮在网上搜索到的,写的挺让我感同身受的,不妨先看一下原文吧. 原文 不知是偶然还是"冥冥定数",最后一次访问娃派建站(wap.ai)已有数十月之久了,突 ...

  7. Docker Compose基本使用-使用Compose启动Tomcat为例

    场景 Docker-Compose简介与Ubuntu Server 上安装Compose: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/deta ...

  8. HIve实战分析Hadoop的日志

    1.日志格式分析首先分析 Hadoop 的日志格式, 日志是一行一条, 日志格式可以依次描述为:日期.时间.级别.相关类和提示信息.如下所示: -03-06 15:23:48,132 INFO org ...

  9. Java第三次作业第五题

    5. [问题描述]Fibonacci序列处理 从文件in.txt中读取第一个数作为Fibonacci数列的开始数n,读取第二个数,作为需要写入的数的个数m. 将从n开始的m个Fibonacci数列写入 ...

  10. linux 假死分析

    所谓假死,就是能ping通,但是ssh不上去:任何其他操作也都没反应,包括上面部署的apache也打不开页面. 作为一个多任务操作系统,要把系统忙死,忙到ssh都连不上去,也不是那么容易的.尤其是现在 ...