/mry-backend

本代码库为码如云后端代码。码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,手机扫码即可查看物品信息并发起相关业务操作,操作内容可由你自己定义,典型的应用场景包括固定资产管理、设备巡检以及物品标签等。在技术上,码如云是一个无代码平台,全程采用DDD、整洁架构和事件驱动架构**完成开发。

Primary LanguageJavaGNU General Public License v3.0GPL-3.0

项目信息

  • 码如云是一个基于二维码的一物一码管理平台,可以为每一件“物品”生成一个二维码,手机扫码即可查看物品信息并发起相关业务操作,操作内容可由你自己定义,典型的应用场景包括固定资产管理、设备巡检以及物品标签等;
  • 在技术上,码如云是一个无代码平台,全程采用DDD、整洁架构和事件驱动架构**完成开发,更多详情可参考笔者的DDD落地文章系列
  • 技术栈:Java 17,Spring Boot 3,MongoDB 4.x,Redis 6.x等;
  • 本代码库为码如云后端代码,与之匹配的前端代码可访问码如云前端代码库

如何访问

为什么开发码如云

  • 为了开发出一款能让自己满意的软件;
  • 为了证明DDD能够真实落地;
  • 为了实践整洁架构
  • 为了学习Web前端开发技术;
  • 更多信息请参考笔者的文章构建自己的软件大厦

本地运行

  • 确保本地已安装Java 17+及Docker;
  • 本地启动:./local-run.sh,该命令将通过docker-compose自动运行MongoDB和Redis,再启动Spring Boot主程序,启动后访问 http://localhost:8080/about ,如可正常访问则表示启动成功;
  • 本地构建:./ci-build.sh,该命令将通过docker-compose自动运行MongoDB和Redis,再运行单元测试,API测试以及动态代码检查等构建步骤;
  • 如需在本地进行前后端联调,请参考码如云前端-本地环境搭建

所有命令

功能 命令 说明
在IntelliJ中打开工程 ./idea.sh 将自动启动IntelliJ,无需另行在IntelliJ中做导入操作
本地启动 ./local-run.sh API端口:8080, 调试端口:5005
清空所有本地数据后再启动 clear-and-local-run.sh API端口:8080, 调试端口:5005
本地构建 ./ci-build 将运行单元测试,API测试以及静态代码检查
单独停止docker-compose ./gradlew composeDown 将清除所有本地数据,包括MongoDB和Redis
单独启动docker-compose ./gradlew composeUp 通过docker-compose启动MongoDB和Redis,如已经启动则跳过

关于软件协议

本代码库在遵循GPL-3.0协议的基础上,增加了以下协议条款:

  • 各企事业单位可免费地将本源代码进行私有化部署以服务于自身业务,但是禁止将所部署的软件(包括直接使用本源代码部署的软件,以及在本源代码基础上修改之后所部署的软件)用于直接商业盈利(包括但不限于将其以付费的方式提供给第三方)。