From 00a53ce1661d9680cac3785123e4306701160671 Mon Sep 17 00:00:00 2001 From: vran Date: Fri, 8 Apr 2022 20:15:23 +0800 Subject: [PATCH] feat:update docs (#71) --- docs/README/build.md | 117 ------------------ docs/README/deploy/docker-deploy.md | 35 ++++-- .../develop/module-and-package/index.md | 13 ++ docs/_sidebar.md | 5 +- docs/index.html | 3 + 5 files changed, 42 insertions(+), 131 deletions(-) delete mode 100644 docs/README/build.md create mode 100644 docs/README/develop/module-and-package/index.md diff --git a/docs/README/build.md b/docs/README/build.md deleted file mode 100644 index 76c6385..0000000 --- a/docs/README/build.md +++ /dev/null @@ -1,117 +0,0 @@ -# 构建指南 - -## 前言 - -Databasir 采用了前后端分离的模式进行开发和部署,项目仓库地址分别位于 - -- 后端应用: https://github.com/vran-dev/databasir -- 前端应用: https://github.com/vran-dev/databasir-frontend - -## 后端 - -**一、环境要求** - -1. Java 11+ -2. Mysql -3. Intellij IDEA - -**二、主要框架** - -1. Gradle:构建工具 -2. Spring-boot:核心框架 - 1. Web - 2. Security -3. Quartz:定时任务调度 -4. JOOQ:ORM 框架 -5. Lombok:代码生成 -6. Mapstruct:代码生成 -7. Flyway:数据库脚本管理 - -**三、项目结构** - -项目结构采用了分层结构 - -- api:所有的 http 接口、定时任务都在该模块下 -- common:主要包含通用异常定义、加解密算法工具 -- core:包含了所有的业务核心逻辑,包括 service、request/response data、converter 等 -- dao:针对数据库的操作类都在该模块下,其中 generated-src 包含了 jooq 生成的代码,src 主要包含了 dao 的实现类 -- plugin:主要包含了 JDBC 工具类,包括但不限于将数据库的元数据解析为 Java 对象 、PDF 导出等 - -项目配置都放在 api/src/main/resources 目录下 - -前端静态文件放在 api/src/main/resources/static 目录下 - -项目数据库脚本放在 dao/src/main/resources/db/migration 目录下 - -**四、项目启动** - -1、通过 Java Main 方法启动 - -修改或创建配置文件 `api/src/main/resources/application-local.properties` - -```properties -server.port=8080 -logging.level.org.jooq=INFO - -# 必须:数据库配置 -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.username=root -spring.datasource.password=123456 -spring.datasource.url=jdbc:mysql://localhost:3306/databasir -spring.jooq.sql-dialect=mysql - -# 可选:flyway 配置 -spring.flyway.enabled=true -spring.flyway.baseline-on-migrate=true -spring.flyway.locations=classpath:db/migration -``` - -启动 DatabasirApplication(com.databasir.DatabasirApplication) 类,启动时需要加参数 `-Dspring.profiles.active=local` - -启动完成后,可以通过 http://localhost:8080 访问 - -2、通过 Gradle 启动 - -与 Java 启动模式一样,首先需要准备配置文件 - -修改或创建配置文件 `api/src/main/resources/application-local.properties` - -```properties -server.port=8080 -logging.level.org.jooq=INFO -# 必须:数据库配置 -spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver -spring.datasource.username=root -spring.datasource.password=123456 -spring.datasource.url=jdbc:mysql://localhost:3306/databasir -spring.jooq.sql-dialect=mysql -# 可选:flyway 配置 -spring.flyway.enabled=true -spring.flyway.baseline-on-migrate=true -spring.flyway.locations=classpath:db/migration -``` - -执行 Gradle 命令 - -```shell -./gradlew bootRun --args='--spring.profiles.active=local' -``` - -启动完成后,可以通过 http://localhost:8080 访问 - -## 前端 - -一、依赖 - -1. vue -2. vuex -3. element-plus -4. axios - -二、运行 - -```shell -npm run serve -``` - -默认端口为 3000 \ No newline at end of file diff --git a/docs/README/deploy/docker-deploy.md b/docs/README/deploy/docker-deploy.md index 6abd2e8..366d047 100644 --- a/docs/README/deploy/docker-deploy.md +++ b/docs/README/deploy/docker-deploy.md @@ -1,6 +1,6 @@ # Docker 部署 -[Databasir](https://github.com/vran-dev/databasir) 已经准备好了开箱即用的 Docker Image,你只需要简单两步就可以完成一个 Databasir 应用的构建 +[Databasir](https://github.com/vran-dev/databasir) 已经准备好了开箱即用的 Docker Image,你只需要简单三步就可以完成一个 Databasir 应用的部署 ## 环境要求 @@ -15,25 +15,36 @@ docker pull vrantt/databasir:latest ``` -2. 镜像下载完成以后就可以直接启动了 +2. 在 Mysql 中创建数据库 databasir + +```sql +create database databasir; +``` + +3. 启动镜像,需要指定可用的 Mysql 的连接信息 ```shell docker run --name my-databasir -e DATABASIR_DB_URL=127.0.0.1:3306 -e DATABASIR_DB_USERNAME=root -e DATABASIR_DB_PASSWORD=123456 vrantt/databasir:latest -p 8888:8080 ``` -这里解释一下各个命令参数 -- `--name` 代表镜像启动后的名称,你可以随意命名 -- `-e` 指定环境变量,databasir 需要依赖 3 个环境变量,所以用 `-e` 指定了 3 个变量,它们分别是 - 1. DATABASIR_DB_URL 数据库地址 - 2. DATABASIR_DB_USERNAME 数据库账号名称 - 3. DATABASIR_DB_PASSWORD 数据库密码 -- `-p` 暴露端口,databasir 默认在容器内部开放了 8080 端口,这里将宿主机的 8888 端口映射到了容器的 8080 端口 +**docker 启动命令参数说明** + +| 参数 | 说明 | +| ---------------------------------- | ------------------------------------------------- | +| --name my-databasir | 启动的镜像名称 | +| -e DATABASIR_DB_URL=127.0.0.1:3306 | 数据库连接地址 | +| -e DATABASIR_DB_USERNAME=root | 数据库连接用户名 | +| -e DATABASIR_DB_PASSWORD=123456 | 数据库连接密码 | +| -p 8888:8080 | 将 databasir 的 8080 端口映射到宿主机的 8888 端口 | + +## 登录验证 启动后,Databasir 会默认创建一个超级管理员账户 -- 用户名:databasir -- 密码:databasir +- 用户名:`databasir` +- 密码:`databasir` + +这时候访问 http://localhost:8888 进入登录页,输入上面的账号和密码即可成功登入,到此就算部署完成 -这时候访问 http://localhost:8888 进入登录页,输入上面的账号和密码即可成功登入,到此就算部署完成。 diff --git a/docs/README/develop/module-and-package/index.md b/docs/README/develop/module-and-package/index.md new file mode 100644 index 0000000..199129f --- /dev/null +++ b/docs/README/develop/module-and-package/index.md @@ -0,0 +1,13 @@ +# 模块和包 + +## 项目模块 + +Databasir 基于 Gradle 进行模块管理,当前共有 5 个模块 + +| 模块名称 | 职责 | +| -------- | ------------------------------------------------------------ | +| api | 所有的接口和定时任务均在该模块定义 | +| common | 定义了项目通用的类,比如加解密工具、业务异常、标准 HTTP 返回类型等 | +| core | 核心业务模块,包含了所有的业务逻辑 | +| dao | 数据访问层,包含了数据库的实体、数据访问对象以及项目模型的 SQL 文件 | +| plugin | jdbc 封装模块,将从 jdbc 获取的数据库元信息转换成 Databasir 的 Java 对象,文档信息的 DIFF 功能也是在该模块内实现 | \ No newline at end of file diff --git a/docs/_sidebar.md b/docs/_sidebar.md index f0ea1ef..58ebc2e 100644 --- a/docs/_sidebar.md +++ b/docs/_sidebar.md @@ -20,7 +20,8 @@ * [Mock Insert SQL 生成](README/mock-sql/index.md) * 参与开发 - * [构建指南](README/build.md) - + * [构建指南](README/develop/build/index.md) + * [模块和包](README/develop/module-and-package/index.md) + * 捐赠 diff --git a/docs/index.html b/docs/index.html index a1351d5..8c3e8bc 100644 --- a/docs/index.html +++ b/docs/index.html @@ -33,5 +33,8 @@ + + +