UCToo is a cloud-native distributed SaaS application development infrastructure. It conforms to the Level 5 standard of the SaaS maturity model, implements the SaaS unified application instance template development specification, and adopts open source, general, and vendor-neutral technology selection. There are many built-in developer efficiency tools, which can quickly develop and operate SaaS applications. It is suitable as a starting project for SaaS platforms, industrial Internet and other products. The development results can be shared, interconnected, and distributed commercially in the UCToo application market.
Overview
UCToo is an umbrella term for a set of best practices for implementing cloud-native distributed SaaS application development. Please refer to the following UCToo technical architecture, and it will continue to iterate with the development of industry technology.
This code base mainly contains a specific implementation version of a PHP technology selection of UCToo APP server.
UCToo Technology System Index
https://gitee.com/UCT/uctoo-app-server UCToo APP server SaaS application instance template server-side development specification
https://gitee.com/uctoo/uctoo UCToo APP server The specific implementation version of PHP technology selection, using CatchAdmin, supports modular low-code development of management background
https://gitee.com/UCT/uctoo-api-client UCToo api client Client SDK specification used to connect with UCToo APP server server interface. The technical selection is Vuex ORM Axios. For details, please refer to the application example of the UCToo Vue Editor project.
https://gitee.com/UCT/uctoo-api-client-php UCToo api client The specific implementation version of PHP technology selection, UCToo has built-in open source version
https://gitee.com/UCT/uctoo-app-server-vue UCToo APP server PC-side management background front-end interface, using CatchAdmin Vue
UCToo APImanager module is a SaaS application for API management, testing and collaboration. UCToo has built-in open source version
UCToo wechatopen manager module is a background management application for managing WeChat third-party platforms. UCToo has built-in open source version
UCToo wechatopen server module is a standard WeChat third-party platform front-end server application used to connect all APIs of WeChat ecosystem. UCToo has built-in open source version
UCToo Codelabs The Codelabs module is a minimalist distributed device-cloud collaborative development tool, which implements the concept of code definition specifications and provides developers with a visual fill-in-the-blank low-code/no-code programming experience. Different from most low-code/no-code technical route products that use json parser, codelabs adopts the scheme of combining syntax analysis and generating source code, which makes codelabs have extremely low learning cost, minimal extensibility, and has a wide range of Universality.
UCToo Vue Editor module is a visual dynamic page building independent project. The address of the online version of UCToo is https://vueeditor.uctoo.com, and the account number is the same as that of www.uctoo.com. Open source project address https://gitee.com/UCT/uctoo-vue-editor. The concept of full-stack model isomorphism is practiced, and a more standardized architectural style and efficient development infrastructure are provided for development requirements such as low-code, no-code, and visual code generation.
UCToo uni starter is a basic scaffolding for uctoo-uniapp mobile terminal, which implements a large number of common functions of commercial projects, supports visual page construction, and quickly develops basic project templates for cloud-integrated applications.
UCT UI is a multi-terminal compatible front-end UI framework, implemented by uni-app uView, which supports the rapid development of low-code mobile applications
UCToo docker cloud native distributed deployment container project of UCToo APP server application instance, supports one-click deployment of UCToo SaaS application instance to public cloud platform
The SaaS shared data model is in line with a set of SaaS shared data model of multi-merchant, multi-application and multi-end unified user identity. UCToo has built-in open source version
UCToo Application Market An application market that supports the commercial distribution of cloud-native distributed SaaS applications, an open trading platform that connects developers and merchants
Micro user applet developer service applet, providing full-process operation support for the commercialization of open source projects, the open source version is modified from the official WeChat Demo applet, and provides developers with UCToo development examples
www.uctoo.com UCToo product official website, developed with UCToo APP server, supports cloud native distributed new generation SaaS service operation support platform.
www.uctoo.org UCTOO general cloud technology open source organization provides incubation, technical support and commercialization services for open source projects of level 5 SaaS products, and collects and organizes the best practices in the industry. (Preparation)
Main features
The design goal of this project is to provide developers who can generate the management background, API interface and default mobile application of the application module mainly by defining the data structure of the application module, so that no matter what kind of technology stack they master, the background developer or the front-end development All personnel can use this project to quickly develop multi-terminal compatible digital systems and applications, and can carry out flexible secondary development.
- Advanced technology, mainstream applications, open source and open.
- The module is detachable, and the system only retains the core functions, and the rest of the functions are realized through expansion modules.
- It supports cloud-native application development, supports multi-merchant multi-application management SaaS platform features, can be independently installed and deployed in most cloud platform environments, and supports cloud-native deployment.
- Support WeChat applet cloud development features.
- It realizes the central control server logic connected to the WeChat third-party platform, and can flexibly customize various business interactions with the WeChat public platform and WeChat open platform. Because the third-party platform development method is the basis for WeChat transaction components, batch cloud development, etc. Therefore, it is recommended that the development of WeChat-related applications should adopt a third-party platform approach.
- Realize the modular development of WeChat third-party platform applications, various value-added applications can be installed and uninstalled independently, and support the commercial distribution and deployment of modules.
- It has been integrated with WeChat third-party platform for cloud development in batches, and supports the decentralized deployment of merchant web-side management platform and applet-side application templates.
- catchadmin can realize the rapid development of low-code on the web-side management platform of merchants, and the UCToo low-code module can realize the rapid development of multi-end and low-code small programs and APPs.
Product Architecture
- The system integrates many excellent open source projects, adopts common technologies, and continuously integrates industry best practices every week. The UCToo development team has expanded the relevant functions of WeChat application development, connecting all the interfaces of the WeChat public platform and the open platform, allowing it to be used in any type of WeChat application project.
- Use catchadmin and easywechat to develop UCToo 2.0 version, please refer to https://www.catchadmin.com/ and https://www.easywechat.com for related information
- Use uctoo/think-easywechat SDK to integrate catchadmin (TP6+VUE) and easywechat, support WeChat third-party platform, WeChat applet cloud development, WeChat payment service provider and other features
- Third-party platform configuration information is stored in the wechatopen table.The account information such as the official account/mini program authorized to the third-party platform is stored in the wechatopen_applet table, the parameters of the wechatopen table are used to initialize the easywechat SDK, and the parameters of the wechatopen_applet table are used as the account information for the third-party platform to realize the business on behalf of the official account / applet
- UCToo V2 技术选型采用了前后端分离的catchadmin框架,
同时结合腾讯云CloudBase云原生开发平台的特性,
可实现SaaS应用实例模板去中心化部署,
使得本项目符合Level 5 级SaaS产品的主要特性
(Level 5级SaaS产品定义请参考本项目开发文档 https://www.kancloud.cn/doc_uctoo/uctoo_dev )
Installation tutorial
Secondary development can be carried out through the following open source projects.
UCToo-docker project source code https://gitee.com/UCT/uctoo-docker
UCToo Application Template Server Side PHP Project https://gitee.com/uctoo/uctoo
UCToo application template PC-side VUE project https://gitee.com/UCT/uctoo-app-server-vue
cloudbase one-click cloud deployment instructions
- It is recommended to use cloudbase one-click deployment. If you are prompted that there is no local environment during installation, please log in to Tencent Cloud->Cloud Development Cloudbase->Environment Overview to activate a cloud development environment (currently only billing is supported).
- You must first deploy the UCToo application template server-side PHP project with one click. After the project is deployed, go to Tencent Cloud->Cloud Development Cloudbase->My Application, you can get the backend access address, which is the backend baseAPI address.
- Log in to the backend instance through Tencent Cloud->Cloud Development cloudbase->Cloud hosting->uctooserver service->uctooserver-xxx version->Instance->Webshell (if there is no instance under the version, please visit the backend home page first, activate an instance to run ), command line cd to the /var/www/html/uctoo directory, run the php think uctoo:install command to initialize the database (if the installation command fails, it prompts the database to hibernate, please wait a few seconds for the database to activate and then run the command again The .uctoo:install command currently only supports the cloudbase one-click installation environment).
- Deploy the PC-side VUE project of the UCToo application template with one click. When the project is initialized and deployed, the user needs to fill in the baseAPI address obtained in step 2 above. Front-end VUE projects can obtain back-end services from baseAPI. After the deployment is complete, you can get the front-end access address in Tencent Cloud -> Cloud Development Cloudbase -> My Application.
- You can view the deployed front-end project code through Tencent Cloud -> Cloud Development Cloudbase -> Static Website Hosting.
- You can manage the database through Tencent Cloud->Cloud Native Database TDSQL-C->Login. If the database is not started, start it first.
- You can manage the mounted CFS file system through Tencent Cloud -> File Storage Management. The file system is mounted in the back-end /var/www/html directory, which is used to save the user’s UCToo APP server code and static resource files.
- After the initial installation, the front-end and back-end access addresses automatically assigned by cloudbase are inconsistent with the front-end and back-end domain names configured by users. Basic configuration -> custom domain name configuration (front-end access URL), the domain name set by the user can take effect.
- After the installation is complete, you can log in to the management background with the supermanage account set in the initial installation, install more built-in modules through the system management -> module management function, or go to the UCToo application market https://appstore.uctoo.com to purchase more modules for installation to the local instance.
CI/CD advice
- One-click cloud deployment copies the code of the git repository to CFS to run persistently and save changes.
- You can fork the source code library for secondary development. Modify the git address in the Dockerfile to deploy the secondary development version. Override installation can be done by deleting the /var/www/html/uctoo/public/index.php file in CFS.
- You can run the php think uctoo:install -r command in the /var/www/html/uctoo/ directory in the Webshell to reset the database content to the initial installation.
- The product has a built-in API management module, which can provide basic features such as development testing and continuous iteration.
runtime environment dependency
PHP >= 7.1.0
Mysql >= 5.5.0 (need to support innodb engine)
PDO PHP Extension
MBstring PHP Extension
CURL PHP Extension
ZIP Extension
Composer
Step-by-step installation
- To install catchadmin, please refer to https://www.catchadmin.com/ for related documents
- The back-end PHP source code address of this project is https://gitee.com/uctoo/uctoo , the front-end VUE source code address is https://gitee.com/UCT/uctoo-app-server-vue
- This project depends on the following extension https://gitee.com/UCT/think-easywechat , run the command composer require uctoo/think-easywechat:dev-master in the project root directory to install
- Register and authenticate the developer account on the WeChat open platform open.weixin.qq.com, create a third-party platform, and configure the parameters of the third-party platform. The authorization event receiving URL is filled in as https://domain name/wechatopen/authevent , and the message and event receiving URL Fill in as
https://域名/wechatopen/eventmessage/appid/$APPID$
- In the third-party platform menu of the wechatopen plugin, add the configuration information of the third-party platform of WeChat, and only need to fill in the four parameters of appid, appsecret, encodingAesKey, and token.
- Submit a third-party platform for testing on the WeChat open platform open.weixin.qq.com, and submit it for release on the entire network after passing the test
- Authorize official accounts and small programs to this third-party platform for value-added application development.
Cloud native installation
- You can register a developer account at https://www.uctoo.com, log in to the management background, and use the cloud development function module to activate and deploy a set of independent UCToo running instances in a cloud-native manner.
docker install
Refer to the uctoo-docker project https://gitee.com/UCT/uctoo-docker
manual
For details, please refer to https://www.kancloud.cn/doc_uctoo/manual
Development Notes
For details, please refer to the open source version development manual https://www.kancloud.cn/doc_uctoo/uctoo_dev and this open source project example
feedback
Developer exchange QQ group 984748053 For more information, please follow the UCToo WeChat third-party operating platform https://www.uctoo.com
References:
UCToo usage documentation https://www.kancloud.cn/doc_uctoo/manual
Development documentation https://www.kancloud.cn/doc_uctoo/uctoo_dev
UCT UI Documentation https://uct-1257264070.cos-website.ap-guangzhou.myqcloud.com
Demo https://www.uctoo.com
catchadmin documentation https://www.catchadmin.com/docs/
Demo https://www.catchadmin.com/
ThinkPHP Documentation https://www.thinkphp.cn
easywechat documentation https://www.easywechat.com/
WeChat Open Platform https://open.weixin.qq.com/
WeChat public platform https://mp.weixin.qq.com/
WeChat payment https://pay.weixin.qq.com
Tencent Cloud Development https://cloud.tencent.com/product/tcb
UCTOO Open Source Organization https://www.uctoo.org/ In preparation
CNCF official website https://www.cncf.io/
Project https://github.com/cncf
Copyright Information
UCToo is released under the Apache2 open source license and is free to use.
The copyright information of the third-party source code and binary files included in this project is marked separately.
Copyright Copyright © 2014-2021 by UCToo (https://www.uctoo.com)
All rights reserved
#uctoo #UCToo #set #cloudnative #distributed #SaaS #application #development #infrastructure #conforms #Level #standard #SaaS #maturity #model #implements #SaaS #unified #application #instance #template #development #specification #adopts #open #source #general #vendorneutral #technology #selection #builtin #developer #efficiency #tools #quickly #develop #operate #SaaS #applications #suitable #starting #project #SaaS #platforms #industrial #Internet #products #development #results #shared #interconnected #distributed #commercially #UCToo #application #market