{"repo":"nju-softeng/dingtalk-app-server","free":true,"listed":false,"github":"https://github.com/nju-softeng/dingtalk-app-server","clone":"git clone https://github.com/nju-softeng/dingtalk-app-server.git","description":"🥝 基于钉钉的实验室绩效管理系统 (Spring Boot)","language":"Java","stars":132,"topics":["dingtalk","spring-boot","dingtalk-sdk","dingding","springboot"],"license":null,"category":"deployment-docker-iac","readme_excerpt":"Dingtalk App Server 目标与期望 基于钉钉微应用开发的实验室绩效管理系统，将实验室的绩效、学分、论文评审管理与钉钉对接。 主要功能有：绩效、学分申请与审核，论文评审投票及学分管理，实验室助研金计算等，导出绩效和助研金报表。 开发环境 SpringBoot JPA Mybatis MySQL 8 Dingtalk SDK Docker Docker Compose Github Actions + 钉钉SDK的封装 👉 ：com.softeng.dingtalk.api + 项目前端代码 👉 ：dingtalk-app-web 注意事项 + 使用了lombok 插件简化代码，idea 需要安装lombok 插件，否则编译过不去 + 系统启动时，初始化操作会调用钉钉SDK，拉取钉钉组织的所有用户, 请先在开发平台设置出口IP 持续部署 本项目使用 GitHub Actions 实现 CI，受外网网速限制，没有采用在 GitHub 机器上构件镜像，再拉取到服务器上运行的方式。而是在每次 CI 触发后，GitHub 机器 ssh 登陆服务器，执行脚本来拉取最新代码，构建镜像，并运行容器，具体如下： 1. 从GitHub仓库中拉去最新代码到服务器本地仓库 2. 使用mvn构建项目 3. docker-compose build 构建镜像 4. docker-compose up -d 在后台启动容器 5. docker image prune -f 清理无用的镜像 部署相关脚本如下 + 生产环境CI脚本：.github/workflows/release.yml + 测试环境CI脚本：.github/workflows/main.yml + 对应的构建部署脚本：dingtalk-app-build (private) + docker-compose 配置：docker-compose.yml 配置文件 系统运维 + 定时备份docker中的数据库 + bin log日志恢复误删数据 前端预览 ------------------------------------------------------ ------------------------------------------------------ ------------------------------------------------------","default_branch":null,"files":null,"tree":[],"storefront":"/r/nju-softeng","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/nju-softeng/dingtalk-app-server/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}