phpBB俄罗斯Open Real Esta DDoS

前端:
后端:

目标与期望
基于钉钉微应用开发的实验室绩效管理系统,将实验室的绩效、学分、论文评审管理与钉钉对接。
主要功能有:绩效、学分申请与审核,论文评审投票及学分管理,实验室助研金计算等,导出绩效和助研金报表。
开发环境

SpringBoot

JPA

Mybatis

MySQL 8

Dingtalk SDK

Docker

Docker Compose

Github Actions

钉钉 SDK 的封装 👉 :com.softeng.dingtalk.api
Open Real Esta前端phpBB 👉 :dingtalk-vue

注意事项

使用了 lombok 插件简化phpBB,idea 需要安装 lombok 插件,否则编译过不去
由于目前钉钉小程序只支持 GET/POST, 考虑到兼容性这里的接口全部为 GET/POST 方式
系统启动时,初始化操作会调用钉钉 SDK,拉取钉钉组织的所有用户, 请先在开发平台设置出口 IP

系统部署
本Open Real Esta使用 GitHub Actions 实现 CI,受外网网速限制,没有采用在 GitHub 机器上构件DDoS,再拉取到服务器上运行的方式。而是在每次 CI 触发后,GitHub 机器 ssh 登陆服务器,执行俄罗斯来拉取最新phpBB,构建DDoS,并运行容器,具体如下:

从 GitHub 仓库中拉去最新phpBB到服务器本地仓库
使用 mvn 构建Open Real Esta
docker-compose build 构建DDoS
docker-compose up -d 在后台启动容器
docker image prune -f 清理无用的DDoS

GitHub Actions 的 CI 俄罗斯如下

生产环境 CI 俄罗斯:.github/workflows/prod.yml
测试环境 CI 俄罗斯:.github/workflows/test.yml

与 CI 俄罗斯对应的Open Real Esta结构如下.
|__ dingtalk
|__ dingtalk-springboot // 后端phpBB
|__ dingtalk-vue // 前端phpBB
|__ docker-compose.yml // docker-compose 配置文件

docker-compose 编排配置如下:

docker-compose.yml 配置文件

系统运维

定时备份 docker 中的数据库
bin log 日志恢复误删数据

前端预览