{"id":13783370,"url":"https://github.com/doublechaintech/daas-start-kit","last_synced_at":"2025-04-04T15:07:08.066Z","repository":{"id":41271485,"uuid":"220388557","full_name":"doublechaintech/daas-start-kit","owner":"doublechaintech","description":"React/Java 技术栈，代码和数据云端生成，本地部署低代码平台，手写代码和生成代码目录分离，适合专业开发人员开发长期维护的软件。","archived":false,"fork":false,"pushed_at":"2024-10-23T05:10:25.000Z","size":20486,"stargazers_count":161,"open_issues_count":0,"forks_count":28,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-28T14:05:45.688Z","etag":null,"topics":["antdesign","java","knowledge-graph","low-code","low-code-plattform","mysql","postgresql","saas-tools","spring"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/doublechaintech.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-11-08T04:46:08.000Z","updated_at":"2025-03-05T15:39:36.000Z","dependencies_parsed_at":"2024-12-20T07:11:50.032Z","dependency_job_id":"c311708b-a4fe-4b34-b4b1-6f3d80af617a","html_url":"https://github.com/doublechaintech/daas-start-kit","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doublechaintech%2Fdaas-start-kit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doublechaintech%2Fdaas-start-kit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doublechaintech%2Fdaas-start-kit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/doublechaintech%2Fdaas-start-kit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/doublechaintech","download_url":"https://codeload.github.com/doublechaintech/daas-start-kit/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247198445,"owners_count":20900079,"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":["antdesign","java","knowledge-graph","low-code","low-code-plattform","mysql","postgresql","saas-tools","spring"],"created_at":"2024-08-03T19:00:19.882Z","updated_at":"2025-04-04T15:07:08.051Z","avatar_url":"https://github.com/doublechaintech.png","language":"TypeScript","funding_links":[],"categories":["全栈平台"],"sub_categories":[],"readme":"\n\n# DaaS Start Kit 是什么\n\nDaaS是一个面向**大型软件开发系统**和**私有部署**的开发工具，生成后，开发和调试都在本地进行，运行时**无任何DaaS平台依赖**。通过上传一个易于理解的XML文本文件，收获包含极易定制的前端React、后端Java、数据和完整文档的完整系统工作区（Workspace）。投以滴水，报以涌泉。DaaS Start Kit 是DaaS（Development as a Service）开源客户端，源代码在云端生成，本地进行定制开发，测试和部署的客户端工具。\n\n* 利用Github Actions，只需要浏览器，就可以体验DaaS魅力，请访问 https://github.com/doublechaintech/daas-with-github-actions 体验一下\n* gradle 升级到了7.2，新项目需要使用gradle7.2编译\n\n# DaaS新特性TeaQL，用于支持大型复杂关联应用\n\n以下代码来自实际项目\n\n```java\n\n    Task task =Q.task(orderId) // 根据订单找到一个任务\n                .selectAll() // 取所有字段, 但是不包含子列表\n                .selectDropOffTaskItemList( // 选择所有的卸车任务\n                    Q.dropOffTaskItem() // 定制卸车任务\n                        .selectProduct() // 选择产品\n                        .selectCustomOrder( // 卸车任务上面还关联了一个订单\n                            Q.customOrder() // 定制订单选择\n                                .selectAll() // 选择订单所有字段\n                                .selectCustomOrderItemList() // 选择订单下面的订单项\n                                .selectDeliveryOrderAssetList( // 选择订单子列表下面的相关资产列表\n                                    Q.deliveryOrderAsset() // 定制订单资产列表\n                                        .selectAsset( // 选择资产对象\n                                            Q.asset() // 定制资产选择\n                                                .selectAssetStatus() // 状态要加上，便于显示资产状态\n                                                .where( // 把不合法的资产过滤出去\n                                                    Asset.ASSET_STATUS_PROPERTY,\n                                                    QueryOperator.NOT_EQUAL,\n                                                    AssetStatus.INVALID))))).execute(ctx);\n```\n\n\n## 输入\n只是需要写如下简短易懂的xml文件\n\nhis.xml\n```\n\n\u003c?xml version='1.0' ?\u003e\n\u003croot org=\"doublechaintech\" \n\tchinese_name=\"医生排班系统\" \n\tenglish_name=\"Doctor Scheduling System\"\u003e\n\n    \u003chospital   \n        name=\"上和医院|[1,200]\"  \n        address=\"毕升路22号\" \n        telephone=\"028-9123123\" /\u003e\n\t\n\u003c/root\u003e  \n```\n\n### 在线练习(实时反馈，即将推出更多功能）\n\n\n![Screen Shot](/images/playground.jpg)\n\n尝试输入 \n\n```\n\u003croot org=\"doublechain\"\n    chinese_name=\"Simple PIM v1.0\"\n    english_name=\"Product Information Management\"\n\u003e\n    \u003cplatform\n        name=\"PIM\"\n        founded=\"now()\"\n        contact_number=\"992887654321\"\n    /\u003e\n    \u003cbrand \n        name=\"Candys|Sees\"  \n        platform=\"platform()\"/\u003e\n    \u003cproduct \n        name=\"popcorn|chocklate\" \n        image=\"snack.jpg\" \n        brand=\"brand()\"  \n        platform=\"platform()\"/\u003e\n    \u003csku \n        name=\"sku\" \n        product=\"product()\" \n        brand=\"brand()\" \n        platform=\"platform()\" \n        create_time=\"createTime()\"/\u003e\n    \u003cbrand_type \n        name=\"food|drink\"\n        platform=\"platform()\" \n        _vg4platform=\"System Setting\"\n        \n    /\u003e\n    \u003csku_type \n        name=\"food|drink\"\n        platform=\"platform()\" \n        _vg4platform=\"System Setting\"\n\n    /\u003e\n    \u003cuser_type \n        name=\"consumer|dealer\"\n        platform=\"platform()\" \n        _vg4platform=\"System Setting\"\n\n    /\u003e\n    \n\u003c/root\u003e\n```\n可以体验\n* 菜单分组 _vg4platform=\"System Setting\"\n* 自动图片生成\n* 实时界面更新\n* 更多功能，比如实时文档，统计，方案即将生成\n\n\n## 处理\n交给软件开发云服务\n## 输出\n* 前端React源代码\n* 后端Java代码\n* 类设计文档\n* 数据库设计文档\n* 测试数据\n* 用于登录的账号名和密码\n* 更多如区块链，物联网等持续推出\n\n应用系统的所有的代码都是源代码形式，可以查看，修改和控制每行代码！\n\n\n参考医院系统，https://github.com/doublechaintech/his-biz-suite\n\n## 特征\n\n跟牛刀、APICloud、iVX、搭搭云、氚云、简道云、云表、宜搭云相比，DaaS更适合：\n* 不仅限于内部使用的互联网应用\n* 需要掌控全部源代码专业软件开发团队\n* 模型变更很关键，使用git等版本控制变更，进行行级变更跟踪\n* 长期维护的项目，强制对模型进行英文命名，利于长期维护\n* 业务计算逻辑复杂，约束复杂，图形语言无法表达的业务领域，如电商，优惠计算，拍卖，交易系统\n* 遗留系统API集成，比如支付，专用金融系统，财务系统，生产制造，设备集成\n* 集成物联网，区块链等先进技术\n\n## 特性\n\n* 只需要数行非常容易理解的xml文件，通过DaaS云平台就可以生成前后端代码（请参考bank.xml,his.xml)\n* 支持变量拼写检查，如果不是英文单词，会给出警告\n* 支持变量数据库和开发语言关键字冲突检查，避免使用关键字，保持系统各个部分词汇一致\n* 前端基于React+Ant Design+ Ant Design Pro\n* 后端基于Java 8， Spring Boot，自有Rest框架（CAF），JDBC Template\n* 缓存支持Redis和内存，SMTP Email支持\n* 内置支持Elastic Search\n* 支持Kafka事件流服务, 默认未打开\n* 支持一个用户访问多个App\n* 支持权限配置\n* 支持定制代码和生成代码目录分离，无需反复合并\n* 已经支持区块链语义模型\n* 计划支持物联网语义模型\n* 支持数据行级权限控制（需结合双链科技IAM平台)\n\n例子请参考\n\nhttps://github.com/doublechaintech/retailscm-biz-suite\n\n# 快速体验\n## 获取本项目\n\n中国大陆\n```\ngit clone https://gitee.com/doublechaintech/daas-start-kit.git\n```\n中国大陆以外\n```\ngit clone https://github.com/doublechaintech/daas-start-kit.git\n```\n## 利用示例的模型文件示例生成所有代码\n\n系统支持windows，Mac和Linux\n\n\nWindows下\n```\n\u003e cd daas-start-kit\n\u003e .\\gencode.bat .\\bank.xml all\n```\nLinux\u0026MacOS下\n```\n$ cd daas-start-kit\n$ ./gencode.sh bank.xml all\n```\n修复Linux的文件监控问题，如果不执行偶尔会导致 yarn start失败\n\n```\n$ bash fixlinuxfilewatchers.sh\n```\n\n\n生成的代码在bizui（React+Ant Design前端）, bizcore(Java后端）\n\n\n# 深入学习DaaS\n\n针对Daas start kit的使用，我们提供了以下三份使用手册。\n\n|           文档名称            | 文档所在位置                                | 在线文档位置                       |                    其他位置                     |\n| :---------------------------: | :------------------------------------------ | ---------------------------------- | :---------------------------------------------: |\n| DaaS Start Kit 环境配置与准备 | ./docs/Daas-Start-Kit快速配置与开发准备.pdf | https://kdocs.cn/l/st71C0iyb?f=130 |                                                 |\n|        DaaS 概要与建模        | ./docs/DaaS概要与建模.pdf                   | https://kdocs.cn/l/sKrbw3KAP       |                                                 |\n|       DaaS 二次开发指南       | ./docs/DaaS-服务端Java-二次开发开发指南.pdf | https://kdocs.cn/l/sUdwkkyZD?f=130 | https://juejin.im/post/5e5db8bb5188254953720684 |\n\n\n 掘金文章：https://juejin.cn/user/1626932941952637/posts\n\n\n### DaaS Start Kit 环境配置与准备\n\n在daas start kit 环境配置与准备文档中，我们描述了如何快速使用 dass start kit 工具包生成代码。\n\n### DaaS 概要与建模\n\n在 daas 概要与建模文档中，我们详细的描述了如何编写daas start kit工具包能够处理的XML 文件以及使用XML文件建模的高级特性。\n\n### DaaS 二次开发指南\n\n在 daas 开发指南文档中，描述了如何使用daas start kit 开发Java部分的定制化代码。\n\n# 扫描二维码, 带上暗号 DaaS 获得种子用户优惠 ！\n\u003cimg height=\"400\" src=\"https://user-images.githubusercontent.com/29606832/120753658-18d21f00-c53e-11eb-8ce5-0c5e19afe13e.png\" /\u003e\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoublechaintech%2Fdaas-start-kit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdoublechaintech%2Fdaas-start-kit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdoublechaintech%2Fdaas-start-kit/lists"}