https://github.com/nju-softeng/dingtalk-app-server
🥝 基于钉钉的实验室绩效管理系统 (Spring Boot)
https://github.com/nju-softeng/dingtalk-app-server
dingding dingtalk dingtalk-sdk spring-boot springboot
Last synced: about 1 year ago
JSON representation
🥝 基于钉钉的实验室绩效管理系统 (Spring Boot)
- Host: GitHub
- URL: https://github.com/nju-softeng/dingtalk-app-server
- Owner: nju-softeng
- Created: 2019-11-12T14:42:27.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2024-10-04T08:14:00.000Z (over 1 year ago)
- Last Synced: 2024-10-16T01:05:05.756Z (over 1 year ago)
- Topics: dingding, dingtalk, dingtalk-sdk, spring-boot, springboot
- Language: Java
- Homepage:
- Size: 4.32 MB
- Stars: 126
- Watchers: 4
- Forks: 41
- Open Issues: 10
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Dingtalk App Server
### 目标与期望
基于钉钉微应用开发的实验室绩效管理系统,将实验室的绩效、学分、论文评审管理与钉钉对接。
主要功能有:绩效、学分申请与审核,论文评审投票及学分管理,实验室助研金计算等,导出绩效和助研金报表。
### 开发环境
SpringBoot
JPA
Mybatis
MySQL 8
Dingtalk SDK
Docker
Docker Compose
Github Actions
+ 钉钉SDK的封装 👉 :[com.softeng.dingtalk.api](https://github.com/nju-softeng/dingtalk-app-server/tree/main/src/main/java/com/softeng/dingtalk/api)
+ 项目前端代码 👉 :[dingtalk-app-web](https://github.com/nju-softeng/dingtalk-app-web)
### 注意事项
+ 使用了lombok 插件简化代码,idea 需要安装lombok 插件,否则编译过不去
+ 系统启动时,[初始化操作](https://github.com/nju-softeng/dingtalk-app-server/blob/9e302075e2e8d55eb3736162066bf4bf203232c9/src/main/java/com/softeng/dingtalk/service/InitSys.java#L20)会调用钉钉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](https://github.com/nju-softeng/dingtalk-app-server/blob/main/.github/workflows/release.yml)
+ 测试环境CI脚本:[.github/workflows/main.yml](https://github.com/nju-softeng/dingtalk-app-server/blob/main/.github/workflows/main.yml)
+ 对应的构建部署脚本:[dingtalk-app-build (private)](https://github.com/nju-softeng/dingtalk-app-build)
+ docker-compose 配置:[docker-compose.yml 配置文件](https://github.com/nju-softeng/dingtalk-app-server/wiki/docker_compose.yml)
### 系统运维
+ [定时备份docker中的数据库](https://www.yuque.com/zhanyeye/devops/gii4pk)
+ [bin log日志恢复误删数据](https://www.cnblogs.com/dslx/p/11578972.html)
### 前端预览





















|
|
|
|
| ------------------------------------------------------ | ------------------------------------------------------ | ------------------------------------------------------ |