[TOC]
主要介绍如何在本地运行项目,包括下载、导入、修改配置、运行项目
为了方便使用,本地部署采用**内嵌数据库、Redis**,不需要另外安装,**自动执行数据库初始化脚本**,直接启动项目即可
# 1 环境准备
首先安装开发环境:
- jdk:1.8.0_221
- node.js:v14.17.5
- git
- gradle
开发工具:`IntelliJ IDEA(v2021.2.1)`
1. IntelliJ IDEA安装插件`lombok`
打开IntelliJ IDEA欢迎页面,在右下角选择“Configure->Plugins”,选择Marketplace,输入:lombok

# 2 导入项目
1. 配置SDK,打开IntelliJ IDEA,在欢迎界面的右下角选择“Configure->Structure for New Projects”,弹出如下图所示的界面:

在Project SDK下拉列表中选择正确的JDK版本
2. 回到欢迎页面,选择Get from Version Control,在弹出的界面填入URL:`https://gitee.com/wells2333/sg-exam.git`


下载完成后直接打开即可
# 3 启动后端项目
1. 配置JVM参数:目的是限制每个服务的内存,配置方式:在IntelliJ IDEA菜单中选择“Run->Edit Configurations”,选择Spring Boot,再选中具体的服务,在VM options输入框输入:-Xms128m -Xmx128m,如下图:

配置各服务的配置文件地址,以user-service为例:
```
SPRING_CONFIG_LOCATION=/Users/xxx/gitee/sg-exam/config-repo/application.yml,/Users/xxx/gitee/sg-exam/config-repo/user-service.yml;SPRING_PROFILES_ACTIVE=dev
```

其它服务的也需要配置上,区别就是/Users/xxx/gitee/sg-exam/config-repo/`user-service.yml`**需要改成对应的服务名称**
2. 按顺序启动:
* auth-service
* user-service
* exam-service
# 4 启动前端项目
1. 安装前端依赖
分别在`sg-exam/frontend/sg-exam-admin`、`sg-exam/frontend/sg-exam-app`目录下,命令行运行:
```
$ npm install cnpm -g --registry=http://registry.npm.taobao.org
$ npm config set sass-binary-site https://npm.taobao.org/mirrors/node-sass
$ cnpm install
$ cnpm install node-sass --sass\_binary\_site=https://npm.taobao.org/mirrors/node-sass/
```
如下图:

`npm install`过程可能耗时较久,还可能**安装node-saas失败**,可以再执行:
```
$ npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass/
```
参考:[# node-sass 安装失败的原因及解决办法]([https://blog.csdn.net/ken\_ding/article/details/85623092](https://blog.csdn.net/ken_ding/article/details/85623092))
2. 配置`IntelliJ IDEA`
以sg-exam-admin为例(sg-exam-app同理),首先选择Edit Configurations:

新增一个npm配置:

配置package.json、Scripts等:

运行:

启动成功后访问:
1. 前台:localhost:8080
2. 后台:localhost:9527
默认账号:
1. 管理员:admin/123456
2. 学生:student/123456
3. 教师:teacher/123456
# 7 常见问题
1. 前台或后台项目npm install失败或启动不成功
尝试重新npm install,再不行就重新下载代码重新来一遍
