177 Star 474 Fork 174

uctoo / uctoo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
Apache-2.0

UCToo

UCToo是一套云原生分布式SaaS应用开发基础设施。符合SaaS成熟度模型Level5级标准,实现SaaS统一应用实例模板开发规范,采用开源、通用、全栈国产自研的技术选型。内置众多开发者效率工具,可快速进行SaaS应用的开发和运营,适合作为SaaS平台、产业互联网等产品的起始项目。开发成果可共享,可互联互通,可在UCToo应用市场商业化分发。

概述

UCToo是一系列实现云原生分布式SaaS应用开发的最佳实践的技术体系。以下UCToo技术体系架构请参考,并随业界技术发展持续迭代。

UCToo技术体系架构
UCTooV3技术体系架构

本代码库主要包含了UCToo APP server的一个nodejs技术选型的具体实现版本。

UCToo技术体系索引

  1. https://gitee.com/uctoo/uctoo UCToo APP server是一款无头内容管理系统(Headless CMS)的服务端应用,可便捷的对数据库数据、多媒体内容等进行所见即所得的管理。 采用nodejs技术选型,提供了完善的API以及开放平台特性,可快速与第三方系统集成。支持一键部署至主流公有云的云原生运行环境,具备良好的可管理、可运营、可拓展性以及透明可自由选择的资费体系。
  2. https://gitee.com/UCT/uctoo-api-client UCToo api client是Headless CMS的APP移动端应用,支持HarmonyOS/iOS/Android多端多规格设备的内容管理移动端应用。技术选型为ArkUIArkTSArkTS-x ,具体可参考UCToo CodeLabs 项目的应用示例。
  3. https://gitee.com/UCT/uctoo-app-client-pc UCToo APP server是Headless CMS的PC端管理后台前端界面,技术选型为ArkUIArkTSArkTS-x
  4. UCToo Codelabs Codelabs 开源项目是fork自HarmonyOS官方codelabs库的示例项目。UCToo添加了UMI-ORM示例端云API调用,持续迭代多媒体内容展示、注册、登录、用户权限体系等常用通用功能。
  5. UCToo Vue Editor 模块是一个可视化动态页面搭建独立项目。UCToo线上运营版本地址 https://vueeditor.uctoo.com ,帐号与 www.uctoo.com 帐号相同。开源项目地址https://gitee.com/UCT/uctoo-vue-editor。实践了全栈模型同构的理念,为低代码、无代码、可视化代码生成等开发需求提供了更加规范化的架构风格和高效率的开发基础设施。已实现vue技术栈,ArkUI/ArkTS技术栈开发中。
  6. UCToo uni starter 是一个uctoo-uniapp移动端基础脚手架,实现了大量商用项目常见功能,支持可视化页面搭建,云端一体应用快速开发基本项目模版。uniapp技术栈已不再维护,V3版本后采用ArkUI/ArkTS技术栈。
  7. UCToo docker 云原生分布式部署UCToo APP server 应用实例的容器项目,支持UCToo SaaS应用实例一键部署至公有云平台。已支持腾讯云cloudbase云原生部署,V3版本支持华为云一键部署特性开发中。
  8. SaaS共享数据模型 符合多商户多应用、多端统一用户身份的一套SaaS共享数据模型,UCToo已内置开源版
  9. UCToo应用市场 支持云原生分布式SaaS应用进行商业化分发的应用市场,连接开发者和商户的开放式交易平台
  10. 微用户小程序 开发者服务小程序,提供开源项目商业化全流程运营支撑,开源版本修改自微信官方Demo小程序,提供开发者UCToo开发示例
  11. www.uctoo.com UCToo产品官网,采用UCToo APP server 开发的,支持云原生分布式的新一代SaaS服务运营支撑平台。
  12. www.uctoo.org UCTOO通用云技术开源组织,为符合level5级SaaS产品开源项目提供孵化、技术支持和商业化服务,收集和整理业界最佳实践。(筹备中)

主要特性

本项目的设计目标是提供开发人员,可以主要通过定义应用模块的数据结构,即可生成应用模块的管理后台、API接口以及默认移动应用,使得无论掌握何种技术栈的后台开发人员还是前端开发人员,都可以采用本项目快速的开发多端兼容的数字化系统和应用,并可进行灵活的二次开发。

  1. 先进技术,主流应用,开源开放。
  2. 模块可拆卸,系统只保留核心的功能,其余功能通过扩展模块来实现。
  3. 支持云原生应用开发,支持多商户多应用管理SaaS平台特性,可在多数云平台环境独立安装部署,支持云原生部署。
  4. 支持HarmonyOS/iOS/Android多系统多端多规格设备。
  5. 支持ArkUI/ArkTS等国产技术栈。

产品架构

  1. 系统融合了众多优秀开源项目,采纳通用技术,每周持续集成业界最佳实践。
  2. 产品采用了全栈模型同构(UMI)的编程理念,UMI是一种在分布式系统间一致性同步状态的设计规范(Uniform Model Isomorphism),项目实现了UMI-ORM以在前端应用(客户端缓存或客户端数据库)与服务端应用(云端数据库)之间高效便捷的同步数据。
- UCToo V3 技术选型采用了ArkUI/ArkTS等多端兼容技术栈,与V2 数据库结构一致,服务端可最小成本从V2 升级至V3 。 V3 计划2023年底前开源。
  同时集成公有云云原生部署环境,
  可实现SaaS应用实例模板去中心化部署,
  使得本项目符合Level 5 级SaaS产品的主要特性
  (Level 5级SaaS产品定义请参考本项目开发文档 https://www.kancloud.cn/doc_uctoo/uctoo_dev )

安装教程

可通过以下开源项目进行二次开发。

  1. UCToo-docker项目源码 https://gitee.com/UCT/uctoo-docker

问题反馈

开发者交流QQ群984748053 更多信息请关注UCToo微信第三方运营平台 https://www.uctoo.com

参考资料:

UCToo 使用文档 https://www.kancloud.cn/doc_uctoo/manual
开发文档 https://www.kancloud.cn/doc_uctoo/uctoo_dev
演示 https://www.uctoo.com

版权信息

UCToo遵循Apache2开源协议发布,并提供免费使用。

本项目包含的第三方源码和二进制文件之版权信息另行标注。

版权所有Copyright © 2014-2023 by UCToo (https://www.uctoo.com)

All rights reserved

Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright {yyyy} {name of copyright owner} Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

简介

UCToo是一套云原生分布式SaaS应用开发基础设施。符合SaaS成熟度模型Level5级标准,实现SaaS统一应用实例模板开发规范,采用开源、通用、厂商中立的技术选型。内置众多开发者效率工具,可快速进行SaaS应用的开发和运营,适合作为SaaS平台、产业互联网等产品的起始项目。开发成果可共享,可互联互通,可在UCToo应用市场商业化分发。 展开 收起
PHP
Apache-2.0
取消

贡献者

全部

近期动态

加载更多
不能加载更多了
PHP
1
https://gitee.com/uctoo/uctoo.git
git@gitee.com:uctoo/uctoo.git
uctoo
uctoo
uctoo
master

搜索帮助