# gulimall **Repository Path**: pronting/gulimall ## Basic Information - **Project Name**: gulimall - **Description**: gulimall是用JAVA开发的分布式架构,支持大并发的大型电商项目,采用B2C模型开发。旨在为中小企业提供快速搭建电商平台的解决方案。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 14 - **Forks**: 1 - **Created**: 2023-05-15 - **Last Updated**: 2023-09-01 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringCloud, Jenkins, Redis, Nginx ## README > 转载请表明出处 https://gitee.com/pronting/gulimall [项目笔记](https://imminent-height-993.notion.site/6a5b0733b2ea46e5a8af7c79bd336b7c?pvs=4) [接口文档](https://easydoc.net/s/78237135/ZUqEdvA4/hKJTcbfd) [后台系统演示地址](./readme/fontDemonstration.md) [前台系统演示地址]() **制作不易,给个star!** ## 介绍
微服务+分布式+全栈+集群+部署+自动化运维+可视化CICD 搭建的大型购物平台 ## 技术栈 * 后端框架: Spring Boot * 微服务框架: Spring Cloud * 数据库:MySQL * 缓存:Redis * 消息中间件:RabbitMQ * 前端框架:Vue * 检索引擎:ElasticSearch * 各种中间件等 ## 软件架构
![软件架构图](readme/project.jpg) ## 快速开始
1. 克隆代码库 `https://gitee.com/pronting/gulimall.git` 2. 生成ide配置: `mvn idea:idea或mvn eclipse:eclipse` 并导入对应的ide进行开发,IDE安装**lombok**插件(很重要,否则IDE会显示编译报错) 3. 创建数据库与表: 请运行db问价下的sql文件创建表结构 4. 如果是本地部署,请自行购买内网穿透隧道,然后修改nginx 配置文件 5. 如果是部署到服务器,请参照文档 [部署服务器教程](https://easydoc.net/s/78237135/ZUqEdvA4/hKJTcbfd) ## 使用说明
项目说明如下 | 模块 | 作用 | 默认访问域名/地址 | |:---------------------|:-----------------|----------------------------------------| | gulimall-auth-server | 用户权限校验及认证 | auth.gulimall.com | | gulimall-cart | 购物车服务 | cart.gulimall.com | | gulimall-common | 所有服务依赖的公共模块 | / | | gulimall-gateway | 项目网关 | / | | gulimall-member | 会员及用户服务 | member.gulimall.com | | gulimall-order | 订单业务 | order.gulimall.com | | gulimall-product | 商城商品服务 | product.gulimall.com,item.gulimall.com | | gulimall-search | 前台商城系统检索服务 | search.gulimall.com | | gulimall-seckill | 商城系统秒杀服务 | seckill.gulimall.com | | gulimall-third-party | 第三方服务,包含oss,短信服务 | / | | gulimall-ware | 仓储服务 | ware.gulimall.com | | gulimall-coupon | 商城的优惠系统,包含各种满减折扣 | / | | renren-fast | 谷粒商城后台管理系统 | / | | renren-generator | 基本代码生成器 | / | ## 开发环境准备 ### 开发工具下载: | 工具 | 说明 | 下载地址 | |:---------------------|:-----------------|--------------------------------------| | RedisDesktop | redis客户端连接工具 | https://redisdesktop.com/download | | SwitchHosts | 本地host管理 | https://oldj.github.io/SwitchHosts | | X-shell | Linux远程连接工具 | http://www.netsarang.com/download/software.html | | PowerDesigner | 数据库设计工具 | http://powerdesigner.de | | Postman | API接口调试工具 | https://www.postman.com | | Jmeter | 性能压测工具 | https://jmeter.apache.org | ### 环境准备: * JDK 1.8 * Redis / * MySQL 5.7 * ElasticSearch 7.6.2 * Kibana 7.6.2 * RabbitMQ 3.8.5 * Nginx 1.1.6 * Sentinel 1.6.3 ### 在本机的host文件添加如下内容 ``` 127.0.0.1 auth.gulimall.com 127.0.0.1 gulimall.com 127.0.0.1 search.gulimall.com 127.0.0.1 item.gulimall.com 127.0.0.1 cart.gulimall.com 127.0.0.1 order.gulimall.com 127.0.0.1 member.gulimall.com 127.0.0.1 seckill.gulimall.com ``` ### 修改网关Nginx配置 前往nginx的config文件夹 ```editorconfig 1、在nginx.conf中添加负载均衡的配置 upstream gulimall{ server 这里填写gulimall-gateway地址; } 2、gulimall.conf中添加如下配置 server { # 监听以下域名地址的80端口 listen 80; server_name gulimall.com *.gulimall.com 这里还要填写内网穿透服务商域名 #配置静态资源分离 location /static/ { root /usr/share/nginx/html; } #支付异步回调的一个配置 location /payed/ { proxy_set_header Host order.gulimall.com; #不让请求头丢失 proxy_pass http://gulimall; } location / { proxy_set_header Host $host; #不让请求头丢失 proxy_pass http://gulimall; } ``` 1. 请启动Nginx,Nacos, Sentinel, Redis, ElasticSearch, MySQL, RabbitMQ服务,保证系统各种服务能够准确无误的运行 2. 前台系统请启动除renren-fast/renren-generator 的所有项目,后台系统将多了将renren-fast启动 ## 参与贡献 [*Pronting*](https://gitee.com/Pronting) ## 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)