Convert Figma logo to code with AI

paascloud logopaascloud-master

spring cloud + vue + oAuth2.0全家桶实战,前后端分离模拟商城,完整的购物流程、后端运营平台,可以实现快速搭建企业级微服务项目。支持微信登录等三方登录。

9,842
4,317
9,842
105

Top Related Projects

Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware.

基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway等。服务治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。持续更新中

77,638

mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

《史上最简单的Spring Cloud教程源码》

基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务多租户系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等。

🔥 官方推荐 🔥 RuoYi-Vue 全新 Pro 版本,优化重构所有功能。基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序,支持 RBAC 动态权限、数据权限、SaaS 多租户、Flowable 工作流、三方登录、支付、短信、商城、CRM、ERP、AI 大模型等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!

Quick Overview

PaasCloud-Master is an open-source distributed microservice architecture project based on Spring Cloud. It aims to provide a complete solution for building and deploying cloud-native applications, including features like distributed transactions, service discovery, and configuration management.

Pros

  • Comprehensive microservice architecture implementation
  • Integrates various Spring Cloud components for a complete cloud-native solution
  • Includes practical examples and best practices for distributed systems
  • Provides a solid foundation for building scalable and resilient applications

Cons

  • Limited documentation, especially for non-Chinese speakers
  • May have a steep learning curve for developers new to microservices
  • Some components might be outdated or require updates
  • Lack of recent updates or active maintenance

Getting Started

To get started with PaasCloud-Master:

  1. Clone the repository:

    git clone https://github.com/paascloud/paascloud-master.git
    
  2. Set up the required databases (MySQL, Redis) and configure the connection details in the application properties files.

  3. Build and run the individual microservices using Maven:

    cd paascloud-master
    mvn clean install
    cd paascloud-provider-uac
    mvn spring-boot:run
    
  4. Repeat step 3 for other microservices (TPC, MDC, OPC) in separate terminal windows.

  5. Access the services through the API gateway (typically running on port 7979).

Note: Ensure you have Java 8+, Maven, MySQL, and Redis installed on your system before starting.

Competitor Comparisons

Spring Cloud Alibaba provides a one-stop solution for application development for the distributed solutions of Alibaba middleware.

Pros of spring-cloud-alibaba

  • More comprehensive and mature ecosystem, with better integration of Alibaba Cloud services
  • Larger community support and more frequent updates
  • Better documentation and examples for enterprise-level applications

Cons of spring-cloud-alibaba

  • Steeper learning curve due to its extensive feature set
  • Potentially higher resource consumption for smaller applications
  • Stronger coupling with Alibaba Cloud services, which may limit flexibility

Code Comparison

spring-cloud-alibaba:

@SpringBootApplication
@EnableDiscoveryClient
public class ProviderApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProviderApplication.class, args);
    }
}

paascloud-master:

@SpringBootApplication
@EnableEurekaClient
public class PaasCloudCoreApplication {
    public static void main(String[] args) {
        SpringApplication.run(PaasCloudCoreApplication.class, args);
    }
}

The main difference in the code snippets is the use of @EnableDiscoveryClient in spring-cloud-alibaba versus @EnableEurekaClient in paascloud-master, reflecting their different service discovery mechanisms.

基于SpringCloud2.1的微服务开发脚手架,整合了spring-security-oauth2、nacos、feign、sentinel、springcloud-gateway等。服务治理方面引入elasticsearch、skywalking、springboot-admin、zipkin等,让项目开发快速进入业务开发,而不需过多时间花费在架构搭建上。持续更新中

Pros of SpringCloud

  • More focused on microservices architecture and cloud-native development
  • Cleaner and more modular project structure
  • Better documentation and code comments

Cons of SpringCloud

  • Less comprehensive feature set compared to paascloud-master
  • Fewer integrated third-party services and tools
  • Less emphasis on DevOps and deployment processes

Code Comparison

SpringCloud:

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
public class ProductApplication {
    public static void main(String[] args) {
        SpringApplication.run(ProductApplication.class, args);
    }
}

paascloud-master:

@SpringBootApplication
@EnableTransactionManagement
@EnableScheduling
@EnableAsync
@EnableAspectJAutoProxy(proxyTargetClass = true)
public class PaasCloudCoreApplication {
    public static void main(String[] args) {
        SpringApplication.run(PaasCloudCoreApplication.class, args);
    }
}

The SpringCloud example shows a more focused approach to microservices with service discovery and Feign clients enabled. The paascloud-master example includes additional features like transaction management, scheduling, and aspect-oriented programming, demonstrating its more comprehensive nature.

77,638

mall项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot+MyBatis实现,采用Docker容器化部署。 前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。 后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

Pros of mall

  • More active development with frequent updates and contributions
  • Comprehensive documentation and tutorials for easier onboarding
  • Wider range of features, including a complete front-end implementation

Cons of mall

  • Higher complexity due to its extensive feature set
  • Steeper learning curve for beginners compared to paascloud-master
  • Potentially more resource-intensive due to its comprehensive nature

Code Comparison

mall:

@Autowired
private UmsMemberService memberService;

@ApiOperation("获取验证码")
@GetMapping(value = "/getAuthCode")
public CommonResult getAuthCode(@RequestParam String telephone) {
    return memberService.generateAuthCode(telephone);
}

paascloud-master:

@Autowired
private UacUserService uacUserService;

@PostMapping(value = "/registerUser")
@ApiOperation(httpMethod = "POST", value = "注册用户")
public Wrapper<UserRegisterDto> registerUser(@ApiParam(name = "registerDto", value = "注册用户Dto") @RequestBody UserRegisterDto registerDto) {
    logger.info("注册用户. registerDto={}", registerDto);
    uacUserService.register(registerDto);
    return WrapMapper.ok(registerDto);
}

Both projects use Spring Boot and follow similar coding patterns, but mall tends to have more concise and focused controller methods, while paascloud-master includes more detailed logging and wrapper classes for responses.

《史上最简单的Spring Cloud教程源码》

Pros of SpringCloudLearning

  • More focused on learning and educational purposes
  • Simpler structure, making it easier for beginners to understand
  • Includes detailed explanations and comments in the code

Cons of SpringCloudLearning

  • Less comprehensive than paascloud-master in terms of features
  • May not be suitable for production-level applications
  • Limited to basic Spring Cloud concepts

Code Comparison

SpringCloudLearning:

@SpringBootApplication
@EnableEurekaServer
public class EurekaServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(EurekaServerApplication.class, args);
    }
}

paascloud-master:

@SpringBootApplication
@EnableDiscoveryClient
@EnableFeignClients
@EnableScheduling
@EnableAsync
public class PaasCloudCoreServiceApplication {
    public static void main(String[] args) {
        SpringApplication.run(PaasCloudCoreServiceApplication.class, args);
    }
}

The code comparison shows that SpringCloudLearning focuses on basic Spring Cloud concepts like Eureka Server, while paascloud-master incorporates more advanced features such as Feign clients, scheduling, and asynchronous processing.

基于SpringBoot2.x、SpringCloud和SpringCloudAlibaba并采用前后端分离的企业级微服务多租户系统架构。并引入组件化的思想实现高内聚低耦合,项目代码简洁注释丰富上手容易,适合学习和企业中使用。真正实现了基于RBAC、jwt和oauth2的无状态统一权限认证的解决方案,面向互联网设计同时适合B端和C端用户,支持CI/CD多环境部署,并提供应用管理方便第三方系统接入;同时还集合各种微服务治理功能和监控功能。模块包括:企业级的认证系统、开发平台、应用监控、慢sql监控、统一日志、单点登录、Redis分布式高速缓存、配置中心、分布式任务调度、接口文档、代码生成等等。

Pros of microservices-platform

  • More active development with frequent updates and contributions
  • Comprehensive documentation and examples for easier adoption
  • Broader range of integrated tools and services (e.g., Sentinel, Seata)

Cons of microservices-platform

  • Higher complexity due to more components and integrations
  • Steeper learning curve for developers new to microservices architecture
  • Potentially higher resource requirements for deployment

Code Comparison

paascloud-master:

@EnableEurekaClient
@EnableFeignClients
@EnableSwagger2Doc
@EnableAspectJAutoProxy(proxyTargetClass = true)
@SpringBootApplication
public class PaasCloudCoreApplication {
    public static void main(String[] args) {
        SpringApplication.run(PaasCloudCoreApplication.class, args);
    }
}

microservices-platform:

@EnableDiscoveryClient
@EnableFeignClients
@EnableHystrix
@SpringBootApplication
@EnableAspectJAutoProxy(proxyTargetClass = true)
public class CentralApplication {
    public static void main(String[] args) {
        SpringApplication.run(CentralApplication.class, args);
    }
}

The code comparison shows similar Spring Boot application setups, with microservices-platform using more recent annotations like @EnableDiscoveryClient and @EnableHystrix for enhanced service discovery and fault tolerance.

🔥 官方推荐 🔥 RuoYi-Vue 全新 Pro 版本,优化重构所有功能。基于 Spring Boot + MyBatis Plus + Vue & Element 实现的后台管理系统 + 微信小程序,支持 RBAC 动态权限、数据权限、SaaS 多租户、Flowable 工作流、三方登录、支付、短信、商城、CRM、ERP、AI 大模型等功能。你的 ⭐️ Star ⭐️,是作者生发的动力!

Pros of ruoyi-vue-pro

  • More active development with frequent updates and contributions
  • Comprehensive documentation and extensive examples
  • Better integration with modern frontend technologies (Vue.js 3)

Cons of ruoyi-vue-pro

  • Steeper learning curve due to more complex architecture
  • Potentially overkill for smaller projects
  • Less focus on microservices compared to paascloud-master

Code Comparison

ruoyi-vue-pro:

@PreAuthorize("@ss.hasPermission('system:user:update')")
@Log(title = "用户管理", businessType = BusinessType.UPDATE)
@PutMapping("/update")
public AjaxResult update(@Validated @RequestBody SysUser user) {
    userService.checkUserAllowed(user);
    userService.updateUser(user);
    return AjaxResult.success();
}

paascloud-master:

@PostMapping(value = "/updateUser")
@ApiOperation(httpMethod = "POST", value = "更新用户信息")
public Wrapper<UserVo> updateUser(@ApiParam(name = "updateUserDto", value = "更新用户信息") @RequestBody UpdateUserDto updateUserDto) {
    logger.info("updateUser - 更新用户信息. updateUserDto={}", updateUserDto);
    UserVo userVo = uacUserService.updateUser(updateUserDto);
    return WrapMapper.ok(userVo);
}

Both repositories provide similar functionality for updating user information, but ruoyi-vue-pro includes additional security checks and logging features.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

Spring Cloud 实战项目

项目介绍

功能点:
    模拟商城,完整的购物流程、后端运营平台对前端业务的支撑,和对项目的运维,有各项的监控指标和运维指标。
技术点:
       核心技术为springcloud+vue两个全家桶实现,采取了取自开源用于开源的目标,所以能用开源绝不用收费框架,整体技术栈只有
    阿里云短信服务是收费的,都是目前java前瞻性的框架,可以为中小企业解决微服务架构难题,可以帮助企业快速建站。由于服务
    器成本较高,尽量降低开发成本的原则,本项目由10个后端项目和3个前端项目共同组成。真正实现了基于RBAC、jwt和oauth2的
    无状态统一权限认证的解决方案,实现了异常和日志的统一管理,实现了MQ落地保证100%到达的解决方案。
	
	核心框架:springcloud Edgware全家桶
	安全框架:Spring Security Spring Cloud Oauth2
	分布式任务调度:elastic-job
	持久层框架:MyBatis、通用Mapper4、Mybatis_PageHelper
	数据库连接池:Alibaba Druid
	日志管理:Logback	前端框架:Vue全家桶以及相关组件
	三方服务: 邮件服务、阿里云短信服务、七牛云文件服务、钉钉机器人服务、高德地图API

平台目录结构说明

├─paascloud-master----------------------------父项目,公共依赖
│  │
│  ├─paascloud-eureka--------------------------微服务注册中心
│  │
│  ├─paascloud-discovery-----------------------微服务配置中心
│  │
│  ├─paascloud-monitor-------------------------微服务监控中心
│  │
│  ├─paascloud-zipkin--------------------------微服务日志采集中心
│  │
│  ├─paascloud-gateway--------------------------微服务网关中心
│  │
│  ├─paascloud-provider
│  │  │
│  │  ├─paascloud-provider-mdc------------------数据服务中心
│  │  │
│  │  ├─paascloud-provider-omc------------------订单服务中心
│  │  │
│  │  ├─paascloud-provider-opc------------------对接服务中心
│  │  │
│  │  ├─paascloud-provider-tpc------------------任务服务中心
│  │  │
│  │  └─paascloud-provider-uac------------------用户服务中心
│  │
│  ├─paascloud-provider-api
│  │  │
│  │  ├─paascloud-provider-mdc-api------------------数据服务中心API
│  │  │
│  │  ├─paascloud-provider-omc-api------------------订单服务中心API
│  │  │
│  │  ├─paascloud-provider-opc-api------------------对接服务中心API
│  │  │
│  │  ├─paascloud-provider-tpc-api------------------任务服务中心API
│  │  │
│  │  ├─paascloud-provider-sdk-api------------------可靠消息服务API
│  │  │
│  │  └─paascloud-provider-uac-api------------------用户服务中心API
│  │
│  ├─paascloud-common
│  │  │
│  │  ├─paascloud-common-base------------------公共POJO基础包
│  │  │
│  │  ├─paascloud-common-config------------------公共配置包
│  │  │
│  │  ├─paascloud-common-core------------------微服务核心依赖包
│  │  │
│  │  ├─paascloud-common-util------------------公共工具包
│  │  │
│  │  ├─paascloud-common-zk------------------zookeeper配置
│  │  │
│  │  ├─paascloud-security-app------------------公共无状态安全认证
│  │  │
│  │  ├─paascloud-security-core------------------安全服务核心包
│  │  │
│  │  └─paascloud-security-feign------------------基于auth2的feign配置
│  │
│  ├─paascloud-generator
│  │  │
│  │  ├─paascloud-generator-mdc------------------数据服务中心Mybatis Generator
│  │  │
│  │  ├─paascloud-generator-omc------------------数据服务中心Mybatis Generator
│  │  │
│  │  ├─paascloud-generator-opc------------------数据服务中心Mybatis Generator
│  │  │
│  │  ├─paascloud-generator-tpc------------------数据服务中心Mybatis Generator
│  │  │
│  │  └─paascloud-generator-uac------------------数据服务中心Mybatis Generator




特殊说明

这里做一个解释由于微服务的拆分受制于服务器,这里我做了微服务的合并,比如OAuth2的认证服务中心和用户中心合并,
统一的one service服务中心和用户认证中心合并,支付中心和订单中心合并,其实这也是不得已而为之,
只是做了业务微服务中心的合并,并没有将架构中的 注册中心 监控中心 服务发现中心进行合并。

作者介绍

Spring Cloud 爱好者,现就任于鲜易供应链平台研发部.

QQ群交流

①:519587831(满)
②:873283104(满)
③:882458726(满)
④:693445268
⑤:813682656
⑥:797334670
⑦:797876073
⑧:814712305
⑨:……

FAQ

配套项目

后端项目:https://github.com/paascloud/paascloud-master 
         https://gitee.com/paascloud/paascloud-master
登录入口:https://github.com/paascloud/paascloud-login-web
         https://gitee.com/paascloud/paascloud-login-web
后端入口:https://github.com/paascloud/paascloud-admin-web
         https://gitee.com/paascloud/paascloud-admin-web
前端入口:https://github.com/paascloud/paascloud-mall-web
         https://gitee.com/paascloud/paascloud-mall-web

传送门

架构图

项目架构图