Skip to content

Commit

Permalink
doc: update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
Handiwork committed Feb 27, 2024
1 parent 3c59af5 commit 7966ea8
Showing 1 changed file with 19 additions and 20 deletions.
39 changes: 19 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,42 +1,41 @@
# MaaBackendCenter

使用 Java 重写的 MAA 作业服务器后端
使用 Kotlin(Java) 重写的 MAA 作业服务器后端

## 开发技术栈

- Java 17
- kotlin 1.9 (Java 21)
- SpringBoot 3
- spring-security
- springdoc-openapi
- MongoDB
- Redis

## 本地开发指南

1. 下载安装 jdk 17 或者以上版本的 jdk,可以考虑从 [zuluJDK](https://www.azul.com/downloads/?version=java-17-lts&package=jdk) 或者 [libreicaJDK](https://bell-sw.com/pages/downloads/#/java-17-lts) 下载安装
2. 你需要一个有redis和mongoDB的环境,如果你是windows用户,可以从 https://github.com/tporadowski/redis 中下载版本较旧的 redis 使用
3. 使用你喜欢的 IDE 导入此项目,修改 /src/main/resources/application-template.yml 中的数据库配置以符合你自己配置的环境
4. 运行 MainApplication 类里的 main 方法
5. 首次运行建议修改 ArkLevelSyncTask 类的scheduled注解的参数,这样可以将明日方舟中的关卡数据同步到你本地的 mongodb 中,为了防止反复调用造成调试的麻烦,建议首次运行同步成功后再将代码修改回去
1. 使用你喜欢的 IDE 导入此项目,修改 /src/main/resources/application-template.yml 中的数据库配置以符合你自己配置的环境
2. 下载安装 JDK 21 或者以上版本的 jdk,可以考虑从 [zuluJDK](https://www.azul.com/downloads/?version=java-17-lts&package=jdk) 或者 [libreicaJDK](https://bell-sw.com/pages/downloads/#/java-17-lts) 下载安装。 Jetbrains Idea 可以使用自带的 JDK 管理器进行下载。
3. 你需要一个有redis和mongoDB的环境,如果你是windows用户,可以从 https://github.com/tporadowski/redis 中下载版本较旧的 redis 使用。 您也可以直接使用 `./dev-docker/docker-compose.yml` 来启动 docker 服务。
4. 运行 `./gradlew bootRun`, windows 环境为 `./gradlew.bat bootRun`
5. 首次运行建议修改 ArkLevelSyncTask 类的 scheduled 注解的参数,这样可以将明日方舟中的关卡数据同步到你本地的 mongodb 中,为了防止反复调用造成调试的麻烦,建议首次运行同步成功后再将代码修改回去

## 项目结构

- config 存放spring配置
- controller 交互层
- request 入参类型
- response 响应类型
- repository 数据仓库层,用于和数据库交互
- entity 与数据库字段对应的类型
- service 业务处理层,复杂或者公用逻辑放在这里(注:您无需为每个类型都提供对应接口,只有当接口在可见未来有多个实现的时候才考虑建立接口)
- model 应用内传输用类型放这里
- utils 工具类
- config # 存放 spring 配置
- common # 共享的逻辑
- controller # 交互层
- request # 入参类型
- response # 响应类型
- repository # 数据仓库层,用于和数据库交互
- entity # 与数据库字段对应的类型
- service # 业务处理层,复杂或者公用逻辑放在这里(注:您无需为每个类型都提供对应接口,只有当接口在可见未来有多个实现的时候才考虑建立接口)
- model # 应用内传输用类型放这里

## 编译与部署

1. 安装 jdk17,可以考虑从 [zuluJDK](https://www.azul.com/downloads/?version=java-17-lts&package=jdk) 或者 [libreicaJDK](https://bell-sw.com/pages/downloads/#/java-17-lts) 下载
1. 安装 JDK 21,可以考虑从 [zuluJDK](https://www.azul.com/downloads/?version=java-17-lts&package=jdk) 或者 [libreicaJDK](https://bell-sw.com/pages/downloads/#/java-17-lts) 下载
2. clone 此项目 `git clone https://github.com/MaaAssistantArknights/MaaBackendCenter.git`
3. 进入此项目目录 `cd MaaBackendCenter`
4. 编译项目 `./gradlew bootJar -x processAot`windows环境下请使用 `gradlew.bat bootJar -x processAot`
4. 编译项目 `./gradlew bootJar -x processAot`windows 环境下请使用 `gradlew.bat bootJar -x processAot`
5. 获得编译后的 jar 文件 `cp ./build/libs/MaaBackendCenter-1.0-SNAPSHOT.jar .`
6. 复制一份配置文件 `cp ./build/resources/main/application-template.yml ./application-prod.yml`
7. 修改配置文件 `application-prod.yml`
Expand All @@ -45,7 +44,7 @@
## native 编译(暂时废弃,如果希望协助维护,请查看native分支)

1. 安装 [GraalVM](https://github.com/graalvm/graalvm-ce-builds/releases)
Java17,并配置好环境变量,部分功能需要正确配置 `JAVA_HOME` 变量为 GraalVM 安装目录才能正常使用
Java21,并配置好环境变量,部分功能需要正确配置 `JAVA_HOME` 变量为 GraalVM 安装目录才能正常使用
2. 如果您处于 Windows 环境下,需要安装 `Visual Studio` 并且安装 C++ 组件,Linux 环境下则需要安装 `gcc` 工具链,Mac
下需要安装 `xcode`
工具链,详情查看 [native-image#prerequisites](https://www.graalvm.org/22.3/reference-manual/native-image/#prerequisites)
Expand Down

0 comments on commit 7966ea8

Please sign in to comment.