{"id":18427629,"url":"https://github.com/maaassistantarknights/maabackendcenter","last_synced_at":"2025-04-05T03:08:56.441Z","repository":{"id":65035060,"uuid":"580778603","full_name":"MaaAssistantArknights/MaaBackendCenter","owner":"MaaAssistantArknights","description":"MAA Copilot Backend","archived":false,"fork":false,"pushed_at":"2025-03-27T16:31:21.000Z","size":1743,"stargazers_count":76,"open_issues_count":12,"forks_count":57,"subscribers_count":4,"default_branch":"dev","last_synced_at":"2025-03-29T02:05:20.811Z","etag":null,"topics":["java","jvm","spring-boot"],"latest_commit_sha":null,"homepage":"https://prts.plus","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/MaaAssistantArknights.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-12-21T12:30:21.000Z","updated_at":"2025-03-27T16:31:25.000Z","dependencies_parsed_at":"2024-03-19T17:49:04.483Z","dependency_job_id":"6929ddf6-5219-4aa6-9f0a-82d1a3bb410c","html_url":"https://github.com/MaaAssistantArknights/MaaBackendCenter","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaaAssistantArknights%2FMaaBackendCenter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaaAssistantArknights%2FMaaBackendCenter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaaAssistantArknights%2FMaaBackendCenter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/MaaAssistantArknights%2FMaaBackendCenter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/MaaAssistantArknights","download_url":"https://codeload.github.com/MaaAssistantArknights/MaaBackendCenter/tar.gz/refs/heads/dev","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247280270,"owners_count":20912967,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["java","jvm","spring-boot"],"created_at":"2024-11-06T05:11:23.449Z","updated_at":"2025-04-05T03:08:56.420Z","avatar_url":"https://github.com/MaaAssistantArknights.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MaaBackendCenter\n\n使用 Kotlin 编写的 MAA 作业服务器后端\n\n## 开发技术栈\n\n- kotlin 2.1 (Java 21)\n- SpringBoot 3\n  - spring-security\n  - springdoc-openapi\n- MongoDB\n- Redis\n\n## 本地开发指南\n\n1. 使用你喜欢的 IDE 导入此项目，复制 `/src/main/resources/application-template.yml` 到同目录下，命名为\n   `application-dev.yml`，修改数据库配置以符合你自己配置的环境。\n2. 下载安装 JDK 21 或者以上版本的\n   jdk，可以考虑从 [zuluJDK](https://www.azul.com/downloads/?version=java-17-lts\u0026package=jdk)\n   或者 [libreicaJDK](https://bell-sw.com/pages/downloads/#/java-17-lts) 下载安装。 Jetbrains Idea 可以使用自带的 JDK\n   管理器进行下载。\n3. 你需要一个有redis和mongoDB的环境，如果你是windows用户，可以从 https://github.com/redis-windows/redis-windows/releases\n   中下载使用。 您也可以直接使用 `./dev-docker/docker-compose.yml` 来启动 docker 服务。\n4. 运行 `./gradlew bootRun`, windows 环境为 `./gradlew.bat bootRun`\n5. 首次运行建议修改配置文件中的 `maa-copilot.task-cron.ark-level` 配置，这样可以将明日方舟中的关卡数据同步到你本地的\n   mongodb 中，为了防止反复调用造成调试的麻烦，建议首次运行同步成功后再将配置修改回去\n\n## 项目结构\n\n- config # 存放 spring 配置\n- common # 共享的逻辑\n- controller # 交互层\n  - request # 入参类型\n  - response # 响应类型\n- repository # 数据仓库层，用于和数据库交互\n  - entity # 与数据库字段对应的类型\n- service # 业务处理层，复杂或者公用逻辑放在这里\n  - model # 应用内传输用类型放这里\n\n## 编译与部署\n\n1. 安装 JDK 21，可以考虑从 [zuluJDK](https://www.azul.com/downloads/?version=java-17-lts\u0026package=jdk)\n   或者 [libreicaJDK](https://bell-sw.com/pages/downloads/#/java-17-lts) 下载\n2. clone 此项目 `git clone https://github.com/MaaAssistantArknights/MaaBackendCenter.git`\n3. 进入此项目目录 `cd MaaBackendCenter`\n4. 编译项目 `./gradlew bootJar`，windows 环境下请使用 `gradlew.bat bootJar`\n5. 获得编译后的 jar 文件 `cp ./build/libs/MaaBackendCenter-1.0-SNAPSHOT.jar .`\n6. 复制一份配置文件 `cp ./build/resources/main/application-template.yml ./application-prod.yml`\n7. 修改配置文件 `application-prod.yml`\n8. 运行项目 `java -jar MaaBackendCenter-1.0-SNAPSHOT.jar --spring.profiles.active=prod`\n\n## native 编译（暂时废弃，如果希望协助维护，请查看native分支）\n\n1. 安装 [GraalVM](https://www.graalvm.org/downloads/)\n   Java21，并配置好环境变量，部分功能需要正确配置 `JAVA_HOME` 变量为 GraalVM 安装目录才能正常使用\n2. 如果您处于 Windows 环境下，需要安装 `Visual Studio` 并且安装 C++ 组件，Linux 环境下则需要安装 `gcc` 工具链，Mac\n   下需要安装 `xcode`\n   工具链，详情查看 [native-image#prerequisites](https://www.graalvm.org/latest/reference-manual/native-image/#prerequisites)\n3. 在该项目目录下，执行 `./gradlew nativeRun` 或者 `.\\gradlew.bat nativeRun` 编译并运行该项目\n4. 如果您希望产生 docker image，请执行 `./gradlew bootBuildImage`\n\n## Join us!\n\nQQ Group: 724540644\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaaassistantarknights%2Fmaabackendcenter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaaassistantarknights%2Fmaabackendcenter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaaassistantarknights%2Fmaabackendcenter/lists"}