一、项目简介

商城使用java语言开发,基于SpringBoot架构体系构建的一套b2b2c商城,商城是满足集平台自营和多商户入驻于一体的多商户运营服务系统。包含PC 端、手机端(H5\APP\小程序),系统架构以及实现案例中应满足和未来可能出现的业务系统进行对接。支持常见NFS协议,支持虚拟硬盘远程挂载;支持关系模型,支持分布式集群处理;主要功能要涵盖:订单管理、会员管理、商品管理、店铺管理、促销活动、售前售后、数据统计、分销模式、页面自定义装修、文章维护、商家入驻和消费者商品选购、下单、评论、咨询等功能。

 

二、项目结构

采用前后端分离的架构,总体的依赖关系如下:  
一、UI端 包含:小程序/H5/APP/PC,UI的运转依赖于API。 其中移动端(小程序/H5/APP使用的是uniapp) 
二、API 包含:基础api/买家api/买家api,API的运转依赖于基础设施 
三、基础设施包含:
mysql/redis/elasticsearch/rabbitmq

三、总体架构

  • 展示层:各个端口:买家卖家管理端,已经三方应用:支付宝微信。
  • 负载均衡:可以使用nginx或其他中间件做负载均衡
  • 网关:使用spring gateway作为网关,使用Sentinel做限流、熔断、降级
  • 微服务:拆分为会员、订单、商品等服务,使用nacos作为服务注册和配置中心,用openfeign做服务调用,使用seata做分布式事务
  • 数据层:Mysql、Redis 、RabbitMq、Elasticsearch和XXL-Job(任务调度)

四、技术栈

服务端

框架
备注
版本
Spring Boot
核心框架
2.0.1.RELEASE
mybatis plus
持久框架
3.4.2
sharding sphere
分库分表
4.1.0
Maven
程序构建
Mysql
数据库
5.6/5.7
RabbitMQ
消息中间件AMQP
3.x(3.6.14)
Redis
缓存
5.x
Elasticsearch
搜索引擎
6.x(6.2.2)
Spring Security
安全框架
2.0.1.RELEASE
Druid
数据库连接池
1.1.22
xxl-job
定时任务
2.0.0
Nginx
负载均衡
Oss
静态资源分发
Logback
日志处理
alibaba/p3c
代码检查

客户端-pc端(管理端、商家端、会员端)

框架
备注
版本
webpack
构建工具
3.10.0
ES6
JS版本
Vue.js
基础JS框架
2.6.14
jQuery
辅助JS库
2.1.4
Vue Router
路由管理
3.0.1
Vuex
状态管理
3.0.1
Element UI
基础UI库
2.15.5
vue-element-admin
UI界面基于
Axios
网络请求
0.18.0
Scss
CSS预处理
4.13.0
ESLint
代码检查
4.13.1
ECharts
报表系统
3.8.5
百度 UEditor
富文本编辑器
百度 Web Uploader
图片上传插件

客户端-移动端

框架
备注
版本
UniApp
移动端框架
最新版
Vuejs
PC端框架
v2
UViewUI
移动端UI库
1.8.4

五、功能介绍

管理端

商家端

会员端

六、本地环境
后台

clone后端源码

基础设施

1.请提前将mysql准备好

2.创建数据库

CREATE DATABASE `shoptnt`;
3.导入sql文件
将 源码目录/sql/database.sql 导入到 `shoptnt` 数据库

修改配置文件

修改 
rest-api/src/main/resources/application.yml 
配置文件中的数据库配置
数据库地址:spring.shardingsphere.datasource.ds0.url数据库用户名:spring.shardingsphere.datasource.ds0.username数据库密码:spring.shardingsphere.datasource.ds0.password

配置maven私服,推荐使用阿里私服

启动API

一、启动rest-api

rest-api/src/main/java/cn/shoptnt/RestApiApplication.java

二、验证swagger

swagger-ui: http://localhost:8080/swagger-ui/index.html

或者

Knife4j: http://localhost:8080/doc.html

前台

安装nodejs

安装yarn

npm install yarn -g --registry=https://registry.npm.taobao.org

搭建PC端(pc买家端、买家端、管理端)

  • 下载前端源码到本地
  • 修改配置文件
1、指定api位置
修改文件:ui-domain/api.js
module.exports = {    // 开发环境dev: {      base: 'http://localhost:7000'//基础api      buyer: 'http://localhost:7002',//买家api      seller: 'http://localhost:7003'//卖家api      admin: 'http://localhost:7004' //管理端api},// 生产环境pro: {      //生产环境,此处不用配置,略    }  }

2、指定ui各个端的位置

修改文件:ui-domain/domain.js

作用是使各个端可以下相互跳转,比如由卖家端点击查看商品详情可以跳转至PC端的商品详情页

module.exports = {  // 开发环境  dev: {    buyer_pc : 'http://127.0.0.1:3000',    buyer_wap: 'http://127.0.0.1:3001',    seller   : 'http://127.0.0.1:3002',    admin    : 'http://127.0.0.1:3003',    decor    : 'http://127.0.0.1:3004'  },  // 生产环境  pro: {    buyer_pc : env.DOMAIN_BUYER_PC || 'https://buyer.javamall.com.cn',    buyer_wap: env.DOMAIN_BUYER_WAP || 'https://m-buyer.javamall.com.cn',    seller   : env.DOMAIN_SELLER || 'https://seller.javamall.com.cn',    admin    : env.DOMAIN_ADMIN || 'https://admin.javamall.com.cn',    decor    : env.DOMAIN_DECOR || 'https://decor.javamall.com.cn'  }}
其他的略。。。

七、UI展示

版权声明:
1、本网站名称:帝企吧
2、本站永久网址:https://www.diqiba.com
3、本网站的文章部分内容可能来源于网络及作者投稿,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报。
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。
7、本站所有资源来源于互联网,仅用于学习及参考使用,切勿用于商业用途,如产生法律纠纷本站概不负责! 8、资源除标明原创外均来自网络转载,版权归原作者所有,若侵犯到您权益请联系我们删除,我们将及时处理! 9、若您需使用非免费的软件或服务,请购买正版授权并合法使用!