12 Star 79 Fork 50

码上talk.RC / tacomall-springcloud

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
README.en.md

[power by 码上talk©]

LICENSE springboot-2.1.7.RELEASE springcloud-Greenwich.SR3

面向中台架构设计,践行“小前台,大中台”思想,基于spring cloud开发的微服务商城后台。 弹性的水平架构设计,优雅的代码,合理的注释,丰富的接口文档,适合想入门微服务,却又没有适合的项目练习的同学们。 同时该项目适用于企业面对超大型业务需求,免于项目技术选型的迷茫,搭建项目繁琐,服务集群部署(提供docker集群自动化CI/CD解决方案)将主要的精力用于业务开发上。

spring cloud微服务基于spirngboot开发,还没有springboot开发基础?公司项目不太需要微服务?不用纠结 =====> 另有springboot版本

tacomall并不是一个单纯的后台项目,你可能还需要跨平台小程序=====> tacomall-uniapp

除此之外,你希望我们有一个完整的商城开源项目=====> 商家管理后台 平台管理后台

[TOC]

                                                                
                                                                
                                                                
 __  ___  ___      ___      ___      _   __      ___     // //  
  / /   //   ) ) //   ) ) //   ) ) // ) )  ) ) //   ) ) // //   
 / /   //   / / //       //   / / // / /  / / //   / / // //    
/ /   ((___( ( ((____   ((___/ / // / /  / / ((___( ( // //     

如果你发现项目不错,不要忘记给项目点个赞👍,你的支持是我们前进的动力 :)

演示

微信小程序(微信扫一扫) 商家管理后台 平台管理后台
>>>点击进入商家管理后台 >>>点击进入平台管理后台

社区

关注“码上talk”微信公众号 tacomall QQ交流群 我的微信

如果您觉得有帮助,请点右上角 "Star" 支持一下谢谢

如果您对此项目感兴趣,请点右上角 "Star" 支持一下谢谢

如果需要帮助请留言或者加微信,晚上20:00后统一回复解决

项目结构

通过项目结构,你将清楚明白你即将入手的是一个怎么样的项目,你可能需要什么,如何快速的把它变成自己的产品。

核心业务

架构原理

中台架构是一种业务思想,它是为了面对急剧变化的业务需求和相对滞后的软件项目交付的矛盾而产生的业务组织和代码开发方式的转变,而微服务又是一个很好的支持中台架构实现的技术手段。

中台架构

中台架构原理图(注意:并非项目实际结构,仅代表原理)

中台架构原理图

微服务

微服务原理图(注意:并非项目实际结构,仅代表原理)

微服务原理图

代码描述

tacomall-sprincloud                             项目
├─authorize                                     鉴权服务
├─common                                        公共依赖
├─config                                        服务监控
├─api                                           前台(接口)
│  ├─portal                                     小程序前台
│  ├─merchant                                   商家前台
│  ├─admin                                      平台前台
│  ├─open                                       开发前台
├─scheduler                                     任务调度
│  ├─admin                                      任务配置
│  ├─executor                                   任务执行
├─service                                       中台
│  ├─service-file                               文件服务
│  ├─service-member                             会员服务
│  ├─service-op                                 第三方开放平台
├─mq                                            队列
│  ├─kafka                                      kafka队列,含日志
│  ├─rabbitmq                                   rabbitmq,处理秒杀业务
├─gateway                                       服务网关
├─pom.xml                                       依赖构建配置

上手指南

我们希望开源的项目能够让每一个人都能够一看就懂,轻松上手,但这并不意味者我们不需要做任何东西,相反,在正式运行项目前,你必须完成以下步骤。

环境要求

为了避免运行开发中遇到一些意想不到的问题,我们推荐你安装如下环境。

  1. Git
  2. JDK1.8+
  3. Maven3.5+
  4. Mysql5.7+
  5. Idea2019.3.3
  6. Postman
  7. mysql
  8. pdman

安装步骤

通过以下步骤,你将很快看见项目运行起来了!

  1. 克隆项目
git clone https://gitee.com/running-cat/tacomall-springcloud.git
  1. 配置idea

为了更好的运行项目,我们需要将idea的jdk环境路径配置为我们上面早已安装好的jdk1.8+,同时配置idea默认maven路径为我们上述安装好的maven并配置好国内源。

  1. 导入idea

打开idea导入克隆下来的项目

  1. maven依赖安装

右键根目录的pom.xml,maven->reimport

  1. 导入数据

打开我们的数据库设计工具(pdman)下载地址

导入项目(_doc/pdman/tacomall.pdman.json)->配置数据库->运行导入mysql

初始化了数据库后,为了有数据展示,我们提供了一个简易的京东爬虫程序用于初始化数据库数据

  1. 修改数据库配置

在每个服务项目中(src/main/resources/application-dev.yml)修改相应的数据库配置。

  1. 运行服务

项目中有许多微服务,眼花缭乱的你不用惊慌,其实每个服务的启动方式和springboot是一样的,只不过是我们需要注意启动顺序。

为了快速看见效果,在保证启动tacomall-eureka,monitor下,只需启动tacomall-service/service-member,tacomall-service/service-op和api/api-portal

测试

看到这里,我们认为你已经正确配置启动项目了,接下来你将通过postman看到实际效果。

通过tacomall-uniapp登录页调用接口更加哟 :-)

http://localhost:4000/portal/member/wxMaLogin

部署

我们提供了docker容器化部署方案,详情请查看部署,但并不意味着你不得不选择docker部署,你仍然可以自由选择你喜欢的部署方式进行部署。

使用的框架

项目中使用到以下框架(不限于)

框架 说明
docker 提供服务容器部署
mycat mysql中间件
nacos 服务配置与发现
seata 分布式事务协调
spring cloud 整体提供微服务解决方案
springboot 提供web服务功能
mybatis-plus 提供简化的数据库操作接口
dynamic-datasource-spring-boot-starter 多数据源解决方案
lock4j-spring-boot-starter 分布式锁解决方案
jobs-spring-boot-starter 分布式任务调度解决方案
springfox-swagger2 接口文档
weixin-java-miniapp 小程序sdk

版本控制

每个版本的发布我们将在RELEASE.md记录跟踪。

版权声明

项目在Apache License 2.0下自由使用。

Comments ( 5 )

Sign in for post a comment

About

面向中台架构设计,践行“小前台,大中台”思想,基于spring cloud开发的微服务商城后台。 弹性的水平架构设计,优雅的代码,合理的注释,丰富的接口文档,适合想入门微服务,却又没有适合的项目练习的同学们。 同时该项目适用于企业面对超大型业务需求,免于项目技术选型的迷茫,搭建项目繁琐,服务集群部署(提供docker集群自动化CI/CD解决方案)将主要的精力用于业务开发上。 spread retract
Cancel

Releases

No release

tacomall-springcloud

Contributors

All

Activities

load more
can not load any more
Java
1
https://gitee.com/running-cat/tacomall-springcloud.git
git@gitee.com:running-cat/tacomall-springcloud.git
running-cat
tacomall-springcloud
tacomall-springcloud
master

Search