{"id":19045701,"url":"https://github.com/xjjdog/bcmall","last_synced_at":"2025-03-22T19:05:36.498Z","repository":{"id":38405015,"uuid":"339678978","full_name":"xjjdog/bcmall","owner":"xjjdog","description":"以教学为目的的电商系统。包含ToB复杂业务、互联网高并发业务、缓存应用；DDD、微服务指导。模型驱动、数据驱动。了解大型服务进化路线，编码技巧、学习Linux，性能调优。Docker/k8s助力、监控、日志收集、中间件学习。前端技术、后端实践等。主要技术：SpringBoot+JPA+Mybatis-plus+Antd+Vue3。","archived":false,"fork":false,"pushed_at":"2021-04-06T09:55:11.000Z","size":656,"stargazers_count":460,"open_issues_count":2,"forks_count":95,"subscribers_count":13,"default_branch":"master","last_synced_at":"2025-03-14T21:04:17.402Z","etag":null,"topics":["antd","docker","guava","hibernate-validator","jpa","jwt","k8s","kafka","linux","mapstruct","mybatis-plus","mysql","prometheus","redis","service-mesh","springboot","springcloud","vue3"],"latest_commit_sha":null,"homepage":"http://bcmall.xjjdog.cn","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xjjdog.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-02-17T09:59:28.000Z","updated_at":"2025-02-27T11:14:45.000Z","dependencies_parsed_at":"2022-08-09T03:16:41.371Z","dependency_job_id":null,"html_url":"https://github.com/xjjdog/bcmall","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xjjdog%2Fbcmall","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xjjdog%2Fbcmall/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xjjdog%2Fbcmall/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xjjdog%2Fbcmall/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xjjdog","download_url":"https://codeload.github.com/xjjdog/bcmall/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245007240,"owners_count":20546143,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["antd","docker","guava","hibernate-validator","jpa","jwt","k8s","kafka","linux","mapstruct","mybatis-plus","mysql","prometheus","redis","service-mesh","springboot","springcloud","vue3"],"created_at":"2024-11-08T22:51:08.209Z","updated_at":"2025-03-22T19:05:36.469Z","avatar_url":"https://github.com/xjjdog.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# bcmall [![Awesome](https://awesome.re/badge.svg)](http://xjjdog.cn) [![Build Status](https://travis-ci.com/xjjdog/bcmall.svg?branch=master)](https://travis-ci.com/xjjdog/bcmall)\n\n`bcMall` 是一个以`教学`为目的的电商系统。bcMall将为你展现一个典型的系统演进过程，所使用的主流技术完全开放。\n\n它包含ToB复杂业务、互联网高并发业务、缓存应用；DDD、微服务指导。模型驱动、数据驱动。了解大型服务进化路线，编码技巧、学习Linux，性能调优。Docker/k8s助力、监控、日志收集、中间件学习。前端技术、后端实践等。主要技术：`SpringBoot`+`JPA`+`Mybatis-plus`+`Antd`+`Vue3`。\n\n\n# 项目信息\n\n通过下面的链接可快速体验。\n\n## 后台管理模块 (toB)\n\n- Java后端管理代码 ：https://github.com/xjjdog/bcMall\n- 后台体验地址：http://bcmall.xjjdog.cn/\n- 配套教程和文档：http://xjjdog.cn/ \n- Antd前端管理代码：整理上传中...\n\n\n| 截图 | 截图 | 截图 |\n| ----- | ----- |----- |\n| \u003cimg src='http://s0-img.xjjdog.cn/github/1.png' /\u003e | \u003cimg src='http://s0-img.xjjdog.cn/github/2.png' /\u003e |\u003cimg src='http://s0-img.xjjdog.cn/github/3.png' /\u003e |\n| \u003cimg src='http://s0-img.xjjdog.cn/github/4.png' /\u003e | \u003cimg src='http://s0-img.xjjdog.cn/github/5.png' /\u003e |\u003cimg src='http://s0-img.xjjdog.cn/github/6.png' /\u003e |\n\n\n## 售卖模块 (toC) \n\n敬请期待...\n\n# 模块划分\n\n`bcMall`采用了一种更加容易理解、扩展性更强的模块划分方式。更方便的由单体应用向分布式应用过渡。\n\n\u003cimg src='http://s0-img.xjjdog.cn/github/bcmall-xmind.png' /\u003e\n\n由于B端的技术栈，与C端的不太一样，按照模块划分可以使用单独的技术栈而互不影响。做后台管理，没必要使用C端的技术折腾自己。\n\n为了支持原型驱动开发模式，bc-utils提供了`magicjpa`和`smartjdbc`两种无敌的代码hack模式，使用很少很少的代码就可以实现功能的快速验证。\n\n想赚外快的同学可以直接拿走这两个工具。\n\n参考代码：\n\n- [magicjpa](https://github.com/xjjdog/bcMall/tree/master/bc-utils/src/main/java/cn/xjjdog/bcmall/utils/quickdev/magicjpa)\n- [smartjdbc](https://github.com/xjjdog/bcMall/tree/master/bc-utils/src/main/java/cn/xjjdog/bcmall/utils/quickdev/smartjdbc)\n\n# 主要技术\n\n前端使用开箱即用的`antd pro`，开发语言采用`typescript`。ts是最接近后端开发的一门语言，比vue开发效率高很多，一周撸一个系统不是梦。\n\n后端主要是用`springboot`。主要的技术点有：\n\n- `mysql mariadb`  关系型数据库\n- `redis`KV数据库\n- `elasticsearch` NoSQL+全文检索\n- `spring-boot-jpa` 应用广泛的ORM框架。快速开发，告别恼人的表设计\n- `mybatis-plus` 为特殊模块准备的ORM框架\n- `hibernate-validator` 专业的参数验证框架\n- `swagger` 文档生成器，rest接口测试\n- `p6spy` 打印sql，调试功能\n- `guava` 广泛应用的google的工具类库\n- `vavr` lambda表达式扩展包，缩减代码\n- `mapstruct` 对象转换类库，节省getset\n- `lombok` 地球人都知道的节省代码工具类\n- `hikaricp` 速度最快的数据库连接池\n- `jwt+spring security` 权限认证\n- `jsoup` 爬虫工具\n- `flyway` 表变更维护工具\n- `kafka` 高可靠高吞吐的消息队列\n- `nginx` 反向代理软件\n- `oss` 阿里云的图片服务\n\n# 开发工具\n\n在开发中，使用了`Macbook`、`Windows`、`Linux`等桌面平台，所以bcMall是跨平台的。另外还使用了如下的开发工具：\n\n- `CentOS Linux` 运行容器，与大厂接轨\n- `Windows WSL2` 运行容器，Windows下最好用的Linux环境  \n- `IDEA社区版` 专业的Java IDE，社区版不占资源\n-  `VSCode` 前端开发工具\n-  `DBeaver` 数据库管理软件\n-  `Ominigraffle | viso` 绘图软件\n-  `XMind ZEN` 思维导图工具\n-  `React Developer Tools` React代码调试\n-  `Postman | curl` API接口快速调试工具\n\n# 文档 \u0026 技术解析\n\n最新配套文章，将第一时间发布到《小姐姐味道》微信公众号。直接搜索`xjjdog`或者扫描下面的二维码关注即可。\n\n![](docs/qrcode_for_gh_183eb256f8af_258.jpg)\n\n更多支持：加`xjjdog0`好友，进入讨论组。\n\n# 精选教程 \n\n\n# Linux\n\n告别简单的知识点罗列，趣味性故事讲解命令使用。更有高赞Linux教程等你探索。\n\n[【快速掌握Linux】](http://xjjdog.cn/linux/15614525129972.html) \u0026nbsp;\u0026nbsp;\n[【高级必备】](http://xjjdog.cn/linux/15720582092957.html)] \u0026nbsp;\u0026nbsp;\n\n#### Linux 三剑客\n\n[【三剑客 - Sed】](http://xjjdog.cn/linux/15584290692459.html) \u0026nbsp;\u0026nbsp;\n[【三剑客 - Awk】](http://xjjdog.cn/linux/15609056089588.html) \u0026nbsp;\u0026nbsp;\n[【三剑客 - Vim】](http://xjjdog.cn/linux/15402953116952.html) \u0026nbsp;\u0026nbsp;\n[【Sed高级功能】](http://xjjdog.cn/linux/15592912624798.html) \u0026nbsp;\u0026nbsp;\n\n#### 实践\n\n[【挖矿脚本解析】](http://xjjdog.cn/linux/15750912640763.html) \u0026nbsp;\u0026nbsp;\n[【故障排查脚本】](http://xjjdog.cn/linux/15649871905254.html) \u0026nbsp;\u0026nbsp;\n[【tail命令趣解】](http://xjjdog.cn/linux/16042874144624.html) \u0026nbsp;\u0026nbsp;\n[【常见问题 - LWP分析】](http://xjjdog.cn/linux/15441696619678.html) \u0026nbsp;\u0026nbsp;\n[【常见问题 - Kill -9】](http://xjjdog.cn/linux/15928741434512.html) \u0026nbsp;\u0026nbsp;\n[【常见问题 - 删库跑路】](http://xjjdog.cn/linux/15928741434512.html) \u0026nbsp;\u0026nbsp;\n\n\n#### 趣解Java\n\n[【多线程总结】](http://xjjdog.cn/arch/15514102727042.html) \u0026nbsp;\u0026nbsp;\n[【parllelStream陷阱】](http://xjjdog.cn/arch/15997289508341.html) \u0026nbsp;\u0026nbsp;\n[【map与flatMap】](http://xjjdog.cn/arch/15579957479709.html) \u0026nbsp;\u0026nbsp;\n[【一句话设计模式】](http://xjjdog.cn/arch/15554085020739.html) \u0026nbsp;\u0026nbsp;\n[【PECS】](http://xjjdog.cn/arch/15757842084359.html) \u0026nbsp;\u0026nbsp;\n\n\n#### JVM\n\n[【内存分布详解】](http://xjjdog.cn/arch/15906512011578.html) \u0026nbsp;\u0026nbsp;\n[【JMC】](http://xjjdog.cn/arch/15858945675534.html) \u0026nbsp;\u0026nbsp;\n[【JVM故障排查 - 1】](http://xjjdog.cn/arch/15951334389254.html) \u0026nbsp;\u0026nbsp;\n[【JVM故障排查 - 2】](http://xjjdog.cn/arch/15970485648112.html) \u0026nbsp;\u0026nbsp;\n[【堆外内存排查】](http://xjjdog.cn/arch/15430579562701.html) \u0026nbsp;\u0026nbsp;\n\n#### 架构\n\n[【微服务】](http://xjjdog.cn/arch/15643605998324.html) \u0026nbsp;\u0026nbsp;\n[【监控体系】](http://xjjdog.cn/arch/15409564958362.html) \u0026nbsp;\u0026nbsp;\n[【日志收集】](http://xjjdog.cn/arch/15863351939061.html) \u0026nbsp;\u0026nbsp;\n[【消息】](http://xjjdog.cn/arch/15674047975982.html) \u0026nbsp;\u0026nbsp;\n[【分库分表】](http://xjjdog.cn/arch/15416612166951.html) \u0026nbsp;\u0026nbsp;\n[【存储】](http://xjjdog.cn/arch/15669607931578.html) \u0026nbsp;\u0026nbsp;\n[【安全】](http://xjjdog.cn/arch/15979028621876.html) \u0026nbsp;\u0026nbsp;\n[【高并发高可用】](http://xjjdog.cn/arch/15665521425450.html) \u0026nbsp;\u0026nbsp;\n[【Spring】](http://xjjdog.cn/arch/16011057235424.html) \u0026nbsp;\u0026nbsp;\n\n## 精选脑图\n\n[okmind](http://mind.xjjdog.cn)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxjjdog%2Fbcmall","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxjjdog%2Fbcmall","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxjjdog%2Fbcmall/lists"}