array(2) { ["docs"]=> array(10) { [0]=> array(10) { ["id"]=> string(3) "428" ["text"]=> string(77) "Visual Studio 2017 单独启动MSDN帮助(Microsoft Help Viewer)的方法" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(8) "DonetRen" ["tagsname"]=> string(55) "Visual Studio 2017|MSDN帮助|C#程序|.NET|Help Viewer" ["tagsid"]=> string(23) "[401,402,403,"300",404]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400964" ["_id"]=> string(3) "428" } [1]=> array(10) { ["id"]=> string(3) "427" ["text"]=> string(42) "npm -v;报错 cannot find module "wrapp"" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "zzty" ["tagsname"]=> string(50) "node.js|npm|cannot find module "wrapp“|node" ["tagsid"]=> string(19) "[398,"239",399,400]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400760" ["_id"]=> string(3) "427" } [2]=> array(10) { ["id"]=> string(3) "426" ["text"]=> string(54) "说说css中pt、px、em、rem都扮演了什么角色" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(12) "zhengqiaoyin" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511400640" ["_id"]=> string(3) "426" } [3]=> array(10) { ["id"]=> string(3) "425" ["text"]=> string(83) "深入学习JS执行--创建执行上下文(变量对象,作用域链,this)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "Ry-yuan" ["tagsname"]=> string(33) "Javascript|Javascript执行过程" ["tagsid"]=> string(13) "["169","191"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511399901" ["_id"]=> string(3) "425" } [4]=> array(10) { ["id"]=> string(3) "424" ["text"]=> string(30) "C# 排序技术研究与对比" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "vveiliang" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(8) ".Net Dev" ["catesid"]=> string(5) "[199]" ["createtime"]=> string(10) "1511399150" ["_id"]=> string(3) "424" } [5]=> array(10) { ["id"]=> string(3) "423" ["text"]=> string(72) "【算法】小白的算法笔记:快速排序算法的编码和优化" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(9) "penghuwan" ["tagsname"]=> string(6) "算法" ["tagsid"]=> string(7) "["344"]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511398109" ["_id"]=> string(3) "423" } [6]=> array(10) { ["id"]=> string(3) "422" ["text"]=> string(64) "JavaScript数据可视化编程学习(二)Flotr2,雷达图" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "chengxs" ["tagsname"]=> string(28) "数据可视化|前端学习" ["tagsid"]=> string(9) "[396,397]" ["catesname"]=> string(18) "前端基本知识" ["catesid"]=> string(5) "[198]" ["createtime"]=> string(10) "1511397800" ["_id"]=> string(3) "422" } [7]=> array(10) { ["id"]=> string(3) "421" ["text"]=> string(36) "C#表达式目录树(Expression)" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(4) "wwym" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(4) ".NET" ["catesid"]=> string(7) "["119"]" ["createtime"]=> string(10) "1511397474" ["_id"]=> string(3) "421" } [8]=> array(10) { ["id"]=> string(3) "420" ["text"]=> string(47) "数据结构 队列_队列实例:事件处理" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(7) "idreamo" ["tagsname"]=> string(40) "C语言|数据结构|队列|事件处理" ["tagsid"]=> string(23) "["246","247","248",395]" ["catesname"]=> string(12) "数据结构" ["catesid"]=> string(7) "["133"]" ["createtime"]=> string(10) "1511397279" ["_id"]=> string(3) "420" } [9]=> array(10) { ["id"]=> string(3) "419" ["text"]=> string(47) "久等了,博客园官方Android客户端发布" ["intro"]=> string(288) "目录 ECharts 异步加载 ECharts 数据可视化在过去几年中取得了巨大进展。开发人员对可视化产品的期望不再是简单的图表创建工具,而是在交互、性能、数据处理等方面有更高的要求。 chart.setOption({ color: [ " ["username"]=> string(3) "cmt" ["tagsname"]=> string(0) "" ["tagsid"]=> string(2) "[]" ["catesname"]=> string(0) "" ["catesid"]=> string(2) "[]" ["createtime"]=> string(10) "1511396549" ["_id"]=> string(3) "419" } } ["count"]=> int(200) } 222 「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目 - 爱码网

我的想法很简单,就是做一个大家都能运行的商城项目,而不是缺胳膊少腿的项目,不求有多么完善,也不求有多少技术栈,我目前的想法就是大家都可以运行它、使用它,至于完善它嘛,给我点时间哈。

本项目开源地址:

newbee-mall 在 GitHub 和国内的码云都创建了代码仓库,如果有人访问 GitHub 比较慢的话,建议在 Gitee 上查看该项目,两个仓库会保持同步更新。

新蜂商城基本介绍

「合抱之木,生于毫末,百丈之台,起于垒土」记录我的 2019

捅娄子了,写个bug被国家信息安全漏洞共享平台抓到了?

之前的一些文章里都有提到过这个开源的线上商城项目,但是一直没有单独整理一篇文章来介绍它,今天就来谈谈这个项目。

「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

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

「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • newbee-mall 对新手开发者十分友好,无需复杂的操作步骤,基础配置做完之后很快就可以启动这个完整的商城项目;
  • newbee-mall 也是一个企业级别的 Spring Boot 大型项目,对于各个阶段的 Java 开发者都是极佳的选择;
  • 你可以把它作为 Spring Boot 技术栈的综合实践项目,newbee-mall 足够符合要求,且代码开源、功能完备、流程完整、页面交互美观;
  • 技术栈新颖且知识点丰富,学习后可以提升大家对于知识的理解和掌握,可以进一步提升你的市场竞争力;
  • 对于部分求职中的 Java 开发者,你也可以将该项目放入求职简历中以丰富你的工作履历;
  • newbee-mall 还有一些不完善的地方,鄙人才疏学浅,望见谅;

项目预览

至于技术栈的选择,主要是 Spring Boot,其它的就是 MyBatis / Thymeleaf 之类的,还有前端的一些内容,比如 AdminLTE / jQuery 等,之后我会继续进行更新迭代,而页面观感和交互体验,我不再多言,大家自行体验和评价,预览图如下:

商城页面预览

  • 商城首页 1

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 商城首页 2

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 商品搜索

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 购物车

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 订单结算

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 订单列表

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 支付页面

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

后台管理页面

  • 登录页

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 轮播图管理

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 新品上线

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 分类管理

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 商品管理

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 商品编辑

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

  • 订单管理

    「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

一个牛逼的项目

这个项目的名称是 newbee-mall,也有朋友会在群里叫他“牛逼商城”,因为它的谐音就是“niu bi”。

「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

newbee 呢,其实是新兵、菜鸟的意思,因为我觉得优秀的开源项目不计其数,我虽然也做了一些,不过与优秀二字实在搭不上边,我还是对自己有认识的,也就是个菜鸟而已,而且这个商城项目毕竟也是第一个版本,问题还是有的,所以它就是一个菜鸟,与牛逼真的搭不上边,大家喜欢就好,能学到东西那更好。

仅仅开源这么一段时间,却已经得到了不少的关注度,我也是诚惶诚恐,当然,大家有任何问题也都可以在交流群里与群里的朋友们一起交流,目前已经解决了很多很多很多很多大家提出的关于新蜂商城这个项目的问题。

为什么写这个项目

在 GitHub 上写一些开源项目,这件事情我做了三年了:

「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

从 2017 年的第一个 ssm-demo 开源项目,到今天的 newbee-mall 项目,我也没想到能够一直坚持了下来。

至于为什么会写这个商城项目呢?大家通过我过往做的项目应该有一点清楚,一开始是做基础的 demo,后面是做一些小项目,之后也写过开源博客项目,由小项目到大项目,这是一个循序渐进的过程罢了,在三年时间里慢慢过渡,从无到有、由小至大,最终有了这样一系列的项目,至于为什么会选择走商城方向,主要是在几个交流群里和大家沟通过,貌似大家对商城类的项目更为感兴趣,所以就决定开发了它。

网上有很多商城项目,但是在使用过程中会有不少的小问题导致无法很顺畅的进行学习和使用,根据十三的实际使用情况来看,主要有以下几点问题:

  • 一,项目不完整,要么是缺少前端页面、要么是缺少依赖或者缺少数据库 SQL 文件,即使 issue 列表中已经出现了很多求文件的诉求依然没有将完整的文档提供出来。

  • 二,用到了特别多的技术栈,SpringCloud / Dubbo / Redis / Elastic Search / Docker 等等,导致想要运行一个商城项目需要把所有的插件都要安装配置一遍,对于新手或者只想要一个商城项目的开发者来说是一个极大的挑战,这里甚至可以使用望而却步来形容。

  • 三,技术老旧,页面不美观,交互体验差,更新迭代慢,这也是部分开源商城项目存在的一些小缺点,不过算不得是大问题。

以上都是实际体验后整理出的内容,基于此,十三自己开发出了当前的 newbee-mall 新蜂商城,我的想法很简单,就是做一个大家都能运行的商城项目,而不是缺胳膊少腿的项目,不求有多么完善,也不求有多少技术栈,我目前的想法就是大家都可以运行它,使用它,至于完善它嘛,大家给我点时间哈。

由于时间短暂,开发仓促,项目中肯定还会有一些不完善的地方,但是十三将其开源出来,今后也会不断的完善该商城项目。

未来规划

如下图所示,该项目是 2019 年 9 月底建的仓库,10 月初把第一个版本的所有代码都放到了仓库里,到今天为止差不多是 3 个月的时间,star 数量涨的挺快也是很出乎我的意料,在这里也感谢大家的支持。

「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

首先,该项目所有的源码都会开源出来,包括前端代码,样式文件,后端java代码,数据库文件,全部都会放在开源仓库中。

第二,当前开源的商城项目并不会使用太多的技术栈,使用和部署起来都非常简单,只需要基础的java运行环境和数据库,很快就可以启动这个大型商城项目,目的就是让大家方便,如果你需要一个可以实践的商城项目,这绝对会是你最佳的选择,对于各个阶段的java开发者都非常友好。

第三,目前的技术栈对所有人都非常友好,但是这不代表该商城项目不会进行优化,之后我也会在此项目的基础上再次进行优化迭代,加入缓存、搜索引擎、微服务、集群、高并发等等内容,满足更多开发者的需求,但是不会是当前项目,当前项目是一个基石,我会在这个基石项目上慢慢的添加内容。

下一步的目标暂时还没确定,不过也在群里和很多朋友都商量过,主要就是修改一些 bug、增加一些功能,更多人是想让我把它做成前后端分离形式的项目。

最近由于工作上的一些事情,没有时间做这些事情,所以年后会抽时间把这个 VUE 版本的商城项目开发掉,做成前后端分离形式的项目,同时也增加一些大家都希望看到的一些功能模块和技术栈,包括前端项目和后端接口,都会一并开源。

这是计划而已,如果这个项目大家都喜欢,我也可以在这个项目的 Star 数过 2000 的时候就着手开发,不过这是个很难达成的目标,哈哈哈。

小总结

这个项目其实 2018 年就在计划开发,但是一直没想好怎么做,也一直没时间去做,所以一直拖到 2019 年的下半年。自从在网上写博客、在 GitHub 上开源了几个不值一提的小项目之后,很多朋友都会选择与我沟通,或者问我一些问题,这其中有相当一部分还是学生或者 1-3 年经验的朋友,通过与他们的沟通呢,我在写项目和想问题的时候也有所改变,目前做的几个项目都更注重一些基础的东西:别太麻烦、运行顺利、别缺代码。

回到项目本身,通过上面说的几点呢,相信大家也能够看出来,我就是想写一个能够让大部分人,即使是初学者或者在校大学生,都能够运行起来的开源商城项目。

于是,新蜂商城就开源了。

「newbee-mall新蜂商城开源啦」SpringBoot+MyBatis开发JavaWeb线上商城项目

除注明转载/出处外,皆为作者原创,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

感谢大家的观看,我是十三,文章首发于我的公众号“程序员的小故事”。

相关文章: