mirror of
				https://github.com/vran-dev/databasir.git
				synced 2025-10-31 04:29:20 +08:00 
			
		
		
		
	feat:update docs (#71)
This commit is contained in:
		| @@ -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 | ||||
| @@ -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 进入登录页,输入上面的账号和密码即可成功登入,到此就算部署完成。 | ||||
|   | ||||
							
								
								
									
										13
									
								
								docs/README/develop/module-and-package/index.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								docs/README/develop/module-and-package/index.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
| # 模块和包 | ||||
|  | ||||
| ## 项目模块 | ||||
|  | ||||
| Databasir 基于 Gradle 进行模块管理,当前共有 5 个模块 | ||||
|  | ||||
| | 模块名称 | 职责                                                         | | ||||
| | -------- | ------------------------------------------------------------ | | ||||
| | api      | 所有的接口和定时任务均在该模块定义                           | | ||||
| | common   | 定义了项目通用的类,比如加解密工具、业务异常、标准 HTTP 返回类型等 | | ||||
| | core     | 核心业务模块,包含了所有的业务逻辑                           | | ||||
| | dao      | 数据访问层,包含了数据库的实体、数据访问对象以及项目模型的 SQL 文件 | | ||||
| | plugin   | jdbc 封装模块,将从 jdbc 获取的数据库元信息转换成 Databasir 的 Java 对象,文档信息的 DIFF  功能也是在该模块内实现 | | ||||
| @@ -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) | ||||
|      | ||||
| * 捐赠 | ||||
|  | ||||
|   | ||||
| @@ -33,5 +33,8 @@ | ||||
|   <!-- Docsify v4 --> | ||||
|   <script src="//cdn.jsdelivr.net/npm/docsify@4"></script> | ||||
|   <script src="//unpkg.com/docsify/lib/plugins/zoom-image.min.js"></script> | ||||
|   <script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-bash.min.js"></script> | ||||
|   <script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-sql.min.js"></script> | ||||
|   <script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-properties.min.js"></script> | ||||
| </body> | ||||
| </html> | ||||
|   | ||||
		Reference in New Issue
	
	Block a user