2.2、YAPI介绍
YAPI已经在linux虚拟机中准备好了
请求地址:http://192.168.136.160:3000/
用户名/密码:tanhua@itcast.cn/123456
对于接口的定义我们采用YApi进行管理,YApi是一个开源的接口定义、管理、提供mock数据的管理平台。
接口定义:
mock数据,YApi提供了mock功能,就是模拟服务端返回测试数据:
还可以运行http请求(需要在Chrome中安装支持跨域扩展 chrome 安装 yapi 扩展教程 - 掘金):
3、开发工具
探花交友项目的开发统一使用提供的Centos7环境,该环境中部署安装了项目所需要的各种服务,如:RabbitMQ,MongoDB、Redis等。
- 虚拟机的root用户密码为:root123
- 默认参数:CPU:2核,内存:4G,硬盘:60G
- IP地址建议设置为192.168.136.160,否则有些服务将不可用,比如:Redis、RocketMQ等。
3.1、虚拟机配置
由于课程中使用了较多的软件,且之间会有联系,推荐同学IP地址设置为192.168.136.160
仅仅需要修改虚拟机中的子网IP即可。
3.2、Android模拟器
客户端由前端团队进行开发,前端提供apk进行对接,所以,需要我们安装安卓的模拟器进行测试。
目前对开发者有很多专业的模拟器如genymotion,但是这些模拟器功能强大,空间占用率高并不适用于教学,甚至在某些环境下不能正常的启动。所以可以选择国内的安卓模拟器产品,比如:网易、夜神等,在这里我们推荐使用网易模拟器,其兼容性好、功能完善而且还简洁,但是它不支持虚拟机中安装。
3.3、调试工具PostMan
Postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件。postman被500万开发者和超100,000家公司用于每月访问1.3亿个API。
官方网址:Postman
解压资料文件夹中的软件,安装即可
4、环境搭建
4.1、MYSQL数据库
数据库设计规范:详见资料文件夹下《探花交友-mysq表.md》文件
数据库表 | 说明 |
tb_user | 用户表 |
tb_user_info | 用户详情表 |
tb_settings | 用户设置表 |
tb_question | 好友问题表 |
tb_black_list | 黑名单 |
tb_announcement | 公告表 |
将资料中数据库表导入到MYSQL中
4.1.1、导入数据库
(1) 打开Navicat ,点击右键选择新建数据库,名字跟我们要导入的数据库的名字一样,字符集一般选utf-8
(2) 在新建的数据库上右击,选择“运行SQL文件”,在提示框中选择文件所在的路径,编码保持一致选择utf-8
(3) 提示Successfully 导入成功后,可能在左侧看不到导入的数据库,关闭Navicat,重新打开即可看到
4.2、基础服务组件
探花交友学习中,除MySQL数据库部署到本地电脑中。其他涉及到的所有组件都已经以docker形式安装到虚拟机中。我们只需要进入虚拟机,使用简单的命令即可。为了方便学习与减少基础服务占用的学习时间,全部使用docker-compose的方式集中式部署。这些文件在linux虚拟机中的/root/docker-file文件夹下
每个文件夹中都包含一个docker-compose.yml配置文件,一键启动并部署应用。
1. #进入组件目录 2. cd /root/docker-file/base/ 3. #执行docker-compose命令 4. docker-compose up -d
base
- 其中包含redis,nacos,yapi,mongo
fastdfs
- 包含fastdfs操作需要的组件
rmq
- 包含RabbitMQ需要所有组件
recommend
- 包含推荐系统需要所有组件
4.3、IDEA配置
项目依赖环境(需提前安装好)
- JDK1.8
- Intellij Idea
- maven-3.x以上
- Git
- UTF-8编码格式
设置项目编码格式
设置Maven仓库
设置本地仓库,建议使用资料中提供好的仓库
4.4、Maven模块分析
整体项目使用Maven架构搭建,采用聚合工程形式管理模块,为了便于调用,dubbo需要拆分为接口模块和服务模块
工程主体结构
父工程 | 工程名称 | 说明 |
tanhua | tanhua-autoconfig | 自动装配的工具类 |
tanhua | tanhua-domain | 实体类模块 |
tanhua | tanhua-dubbo | Dubbo子模块(可以理解为文件夹,管理dubbo模块) |
tanhua | tanhua-app | 与手机端交互的入口模块 |
tanhua-dubbo | tanhua-dubbo-interface | Dubbo接口模块 |
tanhua-dubbo | tanhua-dubbo-db | Dubbo服务模块(数据库部分) |
tanhua-dubbo | tanhua-dubbo-mongo | Dubbo服务模块(MongoDB部分) |
模块依赖分析