# youlai-mall **Repository Path**: faris/youlai-mall ## Basic Information - **Project Name**: youlai-mall - **Description**: youlai-mall是基于Spring Boot 2.7、Spring Cloud & Alibaba 、vue3、element-plus、uni-app构建的开源全栈微服务商城项目。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://admin.youlai.tech/ - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1139 - **Created**: 2022-11-16 - **Last Updated**: 2022-11-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README


官方文档 | 团队博客

管理系统在线预览 | 移动/H5在线预览

Github | Gitee | GitCode

## 🈶 项目介绍 ### 🗁 项目简介 [youlai-mall](https://gitee.com/haoxr) 是基于Spring Boot 2.7、Spring Cloud 2021 & Alibaba 2021、Vue3、Element-Plus、uni-app等主流技术栈构建的一整套全栈开源商城项目, 涉及 [后端微服务](https://gitee.com/youlaitech/youlai-mall)、 [前端管理](https://gitee.com/youlaitech/youlai-mall-admin) 、 [微信小程序](https://gitee.com/youlaitech/youlai-mall-weapp)和 [APP应用](https://gitee.com/youlaitech/youlai-mall-weapp) 等多端的开发。 ### 🗁 项目特点 - 项目使用皆是当前主流前后端技术栈(持续更新...),无过度自定义封装,易理解学习和二次扩展; - 极速启动,在IDEA和Java环境OK的情况下`1分钟之内`可正常启动微服务,可以快速拥有微服务环境和上手微服务; - SpringBoot 2.7、SpringCloud 2021 & Alibaba 2021 一站式微服务开箱即用的解决方案; - Spring Security OAuth2 、 Spring Cloud Gateway 、 JWT 统一认证鉴权和常用 OAuth2 授权模式扩展; - 移动端采用终极跨平台解决方案 uni-app, 一套代码编译iOS、Android、H5和小程序等多个平台; - Jenkins、K8s、Docker实现微服务持续集成与交付(CI/CD)。 ### 🗁 项目预览 | 「App」Spring Security OAuth2 手机短信验证码模式 | 「小程序」Spring Security OAuth2 微信授权模式 | | ------------------------------------------------------------ | ------------------------------------------------------------ | | | | | **「管理前端」Spring Security OAuth2 密码模式** | **「管理前端」Spring Security OAuth2 验证码模式** | | | | ## 🏠️ 源码地址 | |Gitee| Github| | ---- | ----| ---- | | 微服务后端 | [youlai-mall](https://gitee.com/youlaiorg/youlai-mall)| [youlai-mall](https://github.com/youlaitech/youlai-mall) | | 管理前端| [mall-admin](https://gitee.com/youlaiorg/mall-admin) | [mall-admin](https://github.com/youlaitech/mall-admin) | | 移动端 | [mall-app](https://gitee.com/youlaiorg/mall-app)| [mall-app](https://github.com/youlaitech/mall-app) | ## 📇 项目目录 ``` lua youlai-mall ├── docs ├── nacos -- Nacos配置 ├── sql -- SQL脚本 ├── laboratory -- 实验室 ├── mall-oms -- 订单服务 ├── mall-pms -- 商品服务 ├── mall-sms -- 营销服务 ├── mall-ums -- 会员服务 ├── middleware -- 中间件(nacos/seata) ├── youlai-auth -- OAuth2认证授权中心 ├── youlai-common -- 公共依赖 ├── youlai-gateway -- 网关 ├── youlai-system -- 系统服务 └── end ``` ## 🚤 项目启动 > `极速启动` 是方便快速启动查看效果的启动方式,其中的数据库和Redis等中间件使用的是有来提供的云环境,切勿修改数据,有时间条件建议`本地启动`。 ### 1️⃣ 极速启动 1. **启动Nacos** - IDEA 打开命令行终端 Terminal,输入 `cd middleware/nacos/bin` 切换到 Nacos 的 bin 目录,执行 `startup -m standalone` 启动 Nacos 服务。 2. **服务启动** - `youlai-gateway` 模块的启动类 GatewayApplication 启动网关; - `youlai-auth` 模块的启动类 AuthApplication 启动认证中心; - `youlai-system` → `system-boot` 模块的启动类 AdminApplication 启动系统服务; - 至此完成基础服务的启动,商城服务按需启动,启动方式和 `youlai-system` 一致; - 访问接口文档地址测试: [http://localhost:9999/doc.html](http://localhost:9999/doc.html) ### 2️⃣ 本地启动 1. **中间件安装** > 为了避免数据和线上环境冲突,MySQL 和 Redis 必装,其他不安装可默认使用有来线上环境(🔴必装 ⚪可选) - 🔴 MySQL   [Linux部署](https://www.youlai.tech/pages/vjoqc/) - 🔴 Redis   [Linux部署](https://www.youlai.tech/pages/k2a20/) - ⚪ RabbitMQ   [Linux部署](https://www.youlai.tech/pages/8znee/) - ⚪ Seata   [本地启动](https://www.youlai.tech/pages/0bzvi/)   |  [Linux部署](https://www.youlai.tech/pages/4vjq5/) - ⚪ Sentinel   [本地启动]()   |  [Linux部署]() - ⚪ Canal   [本地启动]()   |  [Linux部署]() 2. **数据库创建和数据初始化** - **系统数据库** 进入 `docs/sql` 目录 , 根据 MySQL 版本选择对应的脚本; 先执行 `database.sql` 完成数据库的创建; 再执行 `youlai.sql` 、`oauth2.sql`、`mall_*.sql` 完成数据表的创建和数据初始化。 - **Nacos 数据库** 创建名为 `nacos` 的数据库,执行 `middleware/nacos/conf/nacos-mysql.sql` 脚本完成 Nacos 数据库初始化。 3. **Nacos 配置持久化至 MySQL** 进入项目的 `middleware/nacos/conf/application.properties` 文件修改 Nacos 配置的数据连接,需要修改配置如下: ```properties spring.datasource.platform=mysql db.num=1 db.url.0=jdbc:mysql://localhost:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC db.user.0=root db.password.0=123456 ``` 4. **导入Nacos配置** IDEA 打开命令行终端 Terminal,输入 `cd middleware/nacos/bin` 切换到 Nacos 的 bin 目录,执行 `startup -m standalone` 启动 Nacos 服务。 打开浏览器,地址栏输入 Nacos 控制台的地址 [ http://localhost:8848/nacos]( http://localhost:8848/nacos) ; 输入用户名/密码:nacos/nacos ; 进入控制台,点击左侧菜单 `配置管理` → `配置列表` 进入列表页面,点击 `导入配置` 选择项目中的 `docs/nacos/nacos_config.zip` 文件。 5. **修改Nacos配置** 在 Nacos 控制台配置列表选择共享配置 `youlai-common.yaml` 进行编辑,修改 MySQL、Redis、RabbitMQ等中间件信息为您自己本地环境,默认「有来」线上环境。 6. **修改Nacos配置中心地址** 批量替换应用的 bootstrap-dev.yml 文件的配置中心地址 `http://c.youlai.tech:8848` → `http://localhost:8848` ,默认「有来」线上的配置中心地址。 7. **服务启动** - 进入 `youlai-gateway` 模块的启动类 GatewayApplication 启动网关; - 进入 `youlai-auth` 模块的启动类 AuthApplication 启动认证授权中心; - 进入 `youlai-system` → `system-boot` 模块的启动类 AdminApplication 启动系统服务; - 至此完成基础服务的启动,商城服务按需启动,启动方式和 `youlai-system` 一致; - 访问接口文档地址测试: [http://localhost:9999/doc.html](http://localhost:9999/doc.html) ## ✅ Git规范 > IDEA 安装 Git Commit Template 插件 - feat 增加新功能 - fix 修复BUG - docs 文档/注释 - style 代码风格改变但不影响运行结果(代码格式化、空格和空行调整等) - refactor 代码重构 - test 测试 - chore 依赖更新或配置修改 - ci 持续集成 ## 💹 趋势统计

## 🧑‍💻 贡献者 有来项目的存在离不开你们一直以来的贡献,真心感谢! 贴出人主页希望对你们有些许帮助,同样也希望更多的学习爱好者加入到开源学习平台。 ## 💬 联系信息 > 添加开发者微信,备注「有来」进群,严禁一切利益性行为 | 开发 | 开发 | DevOps | | :-------: | :------------------: | :---------------------: | | ![](https://www.youlai.tech/files/blog/rui.jpg) | ![](https://www.youlai.tech/files/blog/chuan.jpg) | ![](https://gitee.com/haoxr/image/raw/master/default/jialin.jpg) | 欢迎技术爱好者加入我们,参与开发和交流学习,申请入口: https://gitee.com/youlaiorg