🎉🎉开源1年半,newbee-mall 收获 9K star|项目复盘

image.png

总结了一些真心话,对于如何作好一个开源项目有很大的帮助。本文将从项目背景、项目的开发历程、项目规划、技术栈总结进行项目复盘,讲一讲如何保持开源项目的生命力、如何选择优化的方向、开源项目究竟会帮助到谁?前端

项目介绍

开源项目 newbee-mall 项目是一套电商系统,包括 newbee-mall 商城系统及 newbee-mall-admin 商城后台管理系统,基于 Spring Boot 2.X 及相关技术栈开发。 前台商城系统包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展现、购物车、订单结算、订单流程、我的订单管理、会员中心、帮助中心等模块。 后台管理系统包含数据面板、轮播图管理、商品管理、订单管理、会员管理、分类管理、设置等模块。vue

于 2019 年 10 月份正式开源,以后在项目改进的同时,又加入了 Vue 技术栈改形成先后端分离版本,Vue3 发布 release 版本后,又使用 Vue3 进行了重构。git

image.png

仓库地址为:程序员

GitHub : https://github.com/newbee-ltdgithub

Gitee:https://gitee.com/newbee-ltdspring

目前,newbee-mall 系列开源项目中的几个仓库,Star 数量加起来也差很少 9k 左右,以下图所示。vue-router

image.png

固然,并非一个很是好的数据,倒是我作开源项目以来受到最多关注的项目了,以前也作了一些开源项目,基本都是1k、2k star的样子。vuex

开源历程和项目规划

在 GitHub 上写一些开源项目,这件事情我作了 5 年了:编程

image.png

从 2017 年的第一个 ssm-demo 开源项目,到现在的 newbee-mall 系列项目,我也没想到可以一直坚持了下来。后端

至于为何会写这个商城项目呢?你们经过我过往作的开源项目应该能看出一二,最开始作的是基础的 demo,后面是作一些小项目,以后也写过开源博客项目,由小项目到大项目,这是一个按部就班的过程罢了,在三年时间里慢慢过渡,从无到有、由小至大,最终有了这样一系列的项目,在 2019 年开始开发并维护 newbee-mall 系列的开源项目。至于为何会选择走商城方向,主要是在几个交流群里和你们沟经过,貌似你们对商城类的项目更为感兴趣,因此就决定开发了它。

这个项目其实 2018 年就在开发计划中了,可是一直没想好怎么作,作哪些功能,页面又怎么写,一方面由于这种项目比较麻烦,毕竟不是写一个学生管理系统,另外一方面是工做比较忙,也一直没时间去作,因此一直拖到 2019 年的下半年。自从在网上写博客、在 GitHub 上开源了几个小项目以后,不少朋友都会选择与我沟通,或者问我一些问题,这其中有至关一部分仍是学生或者 1-3 年经验的朋友,经过与他们的沟通呢,我在写项目和想问题的时候也有所改变,目前作的几个项目都更注重一些基础的东西:别太麻烦、运行顺利、别缺代码。

回到项目自己,经过上面说的几点呢,相信你们也可以看出来,我就是想写一个可以让大部分人,即便是初学者或者在校大学生,都可以运行起来的开源商城项目。

因而,新蜂商城就开源了。

image.png

随后的两年,newbee-mall 系列仓库也在不断地优化:先后端分离版本的开发、newbee-mall-plus 升级版本的开发、加入 Vue3 技术栈。

2020 年 5 月,新蜂商城 Vue 版本开源了。

2020 年 11 月,新蜂商城 Vue3 版本开源了。

2021 年 1 月,newbee-mall-plus 版本启动开发,计划加入三个功能:秒杀功能、优惠券、对接支付宝。

2021 年 3 月底,newbee-mall-admin 将会启动开发,使用 Vue3 + element plus 重构后台管理系统。

image.png

程序员那么可爱,怎么可能有坏心眼呢?

作开源项目也不是一件容易的事情,首先是要挤时间,其次是要花费更多的精力,对人的身体和精神都有必定的消耗。

除此以外,随着面对的人愈来愈多,听到的声音也愈来愈嘈杂,此时已经不是面向老板或者产品经理编程,而是面向技术人的编程。声音多了,其中确定有好的,这是对做者的鼓励,也不免会有一些很差听的,这是对做者的质疑。

由于这个项目,收获了不少的朋友,收到了鼓励和感谢,有人会说谢谢十三哥,有人会说这个项目帮助了他学到了不少实战知识,有人说由于这个项目的开发经验而找到了工做、完成了课程做业等等。也收到了一些恶评和质疑,有些话我就看成没看到,有些人我也没时间搭理,在网上吵架是很没意思的一件事,首先,不必定不能吵赢这些吵架的高手,其次,即便你吵赢了,又能如何?并且有些评论虽然说阴阳怪气,可是也不至于去和人家吵吵,继续作本身的事情就行了,原本就那么忙,哪有时间去吵架。

还有,由于这个开源项目,也发生了不少搞笑的事情,以前也写过文章记录。

举一个常见的例子,不仅是个人开源项目,我看到其它开源项目中也会常常出现这种评论:

你写这种项目开源项目有什么用?

固然,上面这个问法我已经作了美化,有不少话是无法写在文章里的,我通常会向阴阳怪气的人这样回复:

不一样阶段的开发人员的需求是不一样的,你以为这是一个很简单的项目因此会提出这些质疑,可是也有不少人一直催着我继续更新,由于大家所处的阶段是不一样的,不少人是须要一些“不那么复杂”的基础项目去练手的,newbee-mall 系列的几个开源仓库都是如此,代码所有免费开源,有须要的人能够直接上手练习并掌握一些实战技巧,实用和免费这两点是很是重要的。我只是努力在完善一个项目,仅此而已,其实开源项目都须要宣传和关注,若是没有一点点数据的话,这个项目的做者也很快就会放弃维护的,这些都是很现实的问题。还有,作一个心理阳光的人,别老是动一些歪心思。

image.png

技术栈总结和项目开发过程

一开始,newbee-mall 只是一个供后端开发人员学习的项目,技术栈也都是偏后端,后来也加入了 Vue、Vant 等前端技术栈,这样,对于先后端开发人员来讲,都是一个不错的练手项目,当前使用到的技术栈以下:

先后端技术都有,主要是当下企业开发中比较经常使用的技术栈,后续会继续整合其它的技术栈到项目中,好比 Redis、Elastic Search、React 等等技术栈。

有些内容是本身琢磨的,更多地则是要多听一听用户的意见,整合他们的建议和本身的想法,而后作一个做者满意、用户也满意的修改,让项目更健康的走下去。

虽然不是公司里的项目,可是作开源项目也须要很是认真,不能吊儿郎当。开源项目也须要详细的设计和规划,加入什么功能,用什么技术栈,而后再花时间去测试和复盘,若是有问题及时调整,固然,每次我有新的想法也会在群里通知你们或者整理一篇文章分享出来,根据你们的建议再进行调整。

image.png

佛曰:“渡人渡己”

《佛典》:“自未得渡而渡人者,菩萨发心,又自渡生死苦海,而又渡人。”

我并非一个信佛之人,只是看到了这段话,以为用在这里比较贴切。

确实,由于 newbee-mall 系列开源项目的缘由,不少人都受到了帮助、获得了一些启发,也收到不少人的感谢信息,这一点,让我以为很感动。做为做者,我并无想到这个项目会如此的受欢迎,由于我以前也作过几个开源项目,最多也就 1k 左右的 Star,因此,直到今天我也很是激动。

静下来的时候,就会胡思乱想一些问题:我是谁?我从哪里来?我要到哪里去?

可是一般都得不到答案,有时候人会变得很沮丧和迷茫,由于生活或者工做中的事情,突然变得很心烦,有时候甚至会不知道将来在哪里,不知道活着的意义在哪里。

PS:偶尔会胡思乱想,大部分时间仍是很是正常的。

由于这个项目,让我以为我能帮助到别人,这是一件很是很是不一样的感受,之前也有过相似的经历,好比给同桌讲题、帮朋友上分、给同事解决bug、帮家人分担压力,这些都会让本身以为本身是一个能够被依靠的人,可以感受到生活的意义。可是随着这个项目被愈来愈多的人所知晓,意义就变了,我再也不是帮助一我的两我的,而是一个群体,这确实是一个船新的版本。

image.png

工做和生活都由于这个项目有了一些改变,天天都要花一些时间去学习、去和更多的人交流,天天都在进步,天天都很忙,也没有时间去胡思乱想了,最大的一点改变,莫过于由于这个开源项目而出版实体书这件事情,后面有时间我会写下这段经历。

image.png

总结思考

image.png

image.png

image.png

image.png

以上就是我对于 newbee-mall 这个开源项目的总结和复盘,固然,还有更多内容能够整理进来,可是鉴于篇幅缘由(字数已经 3700+ 了),后面有时间会继续分享的。

有什么问题的话,你们能够给我留言,咱们一块儿讨论。

推荐一下本人近期维护的开源项目

image.png

Spring Boot 开源电商项目(含商城端和后台管理系统):https://github.com/newbee-ltd...

Spring Boot + Vue3 先后端分离商城项目:https://github.com/newbee-ltd...

感兴趣的朋友能够关注一下。

除注明转载/出处外,皆为做者原创,欢迎转载,但未经做者赞成必须保留此段声明,且在文章页面明显位置给出原文连接,不然保留追究法律责任的权利。
相关文章
相关标签/搜索