不会编程的人想用AI开发软件能实现吗?

各种构思了好长时间,竟然发现有人做了nocobase。你们广告打的太少了。

通用引擎概述

devUser进行设计自己的业务页面,业务逻辑,业务数据模型等
endUser进行使用。
如何进行设计和基础功能,由我们决定。

通用数据模型meta_model

meta_model是一个通用数据模型
新建meta_model的页面为三个选项卡页面,
第一个选项卡为meta_model_page
第二个选项卡为meta_model_config
第三个选项卡为meta_model_log
下文的设计好的meta_model数据模型需要对应到相关选项卡里。

devUser可以对meta_model进行增删改查等操作。
endUser进行使用和浏览。
devUser新建一个meta_model,然后根据新建时候的属性配最终决定meta_model的作用
比如,devUser想设计一个用户模块,
首先需要新建用户表,
对应的meta_model方式,新建一个model_model ,然后选项卡meta_model_config里启用主表单属性,对应的meta_model_page启用表单设计器,由devUser进行表单设计。
此例子中的用户表,应该有字段用户名,邮箱,手机号等。用户设计好表单然后保存。
然后是权限表,设定权权限名称字段,然后添加一个子表,用来添加权限可以访问的meta_model,
角色表,设计角色字段,admin,dev,defaultUser,guest,同样的设计一个子表用来添加角色拥有的权限名称。
等这些基础表都设计完成后进行页面设计和逻辑设计。
首先是登录页面,新建一个meta_model,项卡meta_model_config里启用page功能,然后主选项卡变为page编辑。可以放两个输入框,两个label,一个button组件。
就是用户名:密码:登录,注册等等适合登录界面相关的。然后再button组件的属性里设置action选项,可以选择对应的动作,此处应该选择login_auth(假设我们封装好了这个动作),动作选择后,后面会相应展示该动作应该配置哪些选项,此次我们应该提供一个meta_model主表候选列表,然后在表里选择需要认证的字段,字段选择完成后,可以进行登录认证完成后的相关选项,比如跳转页面,再比如session作用域。
注册button,endUser可以直接进行一个跳转动作绑定,由devUser设计的用户表再编辑模式保存后,endUser访问可以由两种形式,一个是新建,一个是列表形式。此处我们应该绑定新建模式,用户点击注册button,页面跳转的指定的用户主表的新建页面,
此页面为通用页面,用户填入相应的数据后由提交按钮。提交后就会在此表中创建一个新的条目。这样用户的新建,登录等流程就设计完毕。

  • 数据 → meta_model(动态表)
  • 界面 → page meta_model(动态页面)
  • 逻辑 → task_engine(自动化)
  • 安全 → 权限配置(RBAC)

所有的模块实现都由meta_model,task_engine和componet构建。这样实现零代码平台,让用户自己设计自己的业务页面,业务逻辑,业务数据模型。
我们只搭建好基础平台就行。

前端项目名称为:meta_client
后端项目名称为:meta_server
I规划:使用angular+material ui +Material Design icon模仿
通用数据模型

meta_model: (源模型基础模型)

       meta_model_id:   源模型id

       meta_model_name: 元模型名称

meta_model_log:

       meta_model_log_id: 元模型日志id

       meta_model_id: 元模型id

       meta_model_opration_log: 元模型操作

meta_model_config:

       meta_model_config_id: 元模型配置id

       meta_model_id: 元模型id

       meta_model_config: 元模型配置

meta_model_dynamic: (元模型动态模型)

       meta_model_dynamic_id: 元模型动态id

       meta_model_id: 元模型id

       meta_model_dynamic_layout: 元模型动态布局(jsonb格式)

       meta_model_dynamic_form: 元模型动态表(jsonb格式)

meta_model_dynamic_sub:(元模型动态模子表,用来存储子表表结构)

meta_model_dynamic_id: 元模型动态id

       meta_model_id: 元模型id

meta_model_dynamic_subform:子表表结构

meta_model_dynamic_engine: 元模型动态引擎

       meta_model_dynamic_engine不是数据模型,是后台的一个用来解析meta_model_dynamic的引擎。

       比如用户自定义了一个app对象,app对象的meta_model,meta_model_log,meta_model_config,meta_model_dynamic都进行了post操作,数据库都会新建一个条目。

       在新建条目的同时meta_model_dynamic_engine会收到meta_model_dynamic_form这个字段值,然后负责解析meta_model_dynamic字段值中用户定义好的表单结构。

       根据解析结果动态创建一个或多个新的表,每个表的表名是meta_model_id_+动态表单的form_name,字段名由form_name+用户设计的字段名组成。如果有子表,那么子表的表名由meta_model_id_+动态表单的form_name+_+子表的form_name组成,字段名由子表的form_name+用户设计的字段名组成。

       举例一个子表示例:

          用户需设计一个商品出库单,表单字段有,出库时间,出库数量,出库操作人,然后是一个列表,列表字段有,商品名称,商品数量,商品单价,商品金额。这个列表就设计为子表。

       拓展:

          支持添加更多子表行,

          支持后续统计计算(如总金额)(由用户自己设定统计方法)当然了我们应该封装好这些功能给用户选择。

             前端计算 + 提交  在表单中 JS 实时计算,提交时带入

             后端插入时计算  INSERT 时由服务端计算 amount

             数据库生成列(Generated Column) PostgreSQL AS (quantity * unit_price)

             视图(View) 创建视图暴露计算结果

任务引擎:Server_Task_Engine

    用来处理用户设计的任务,任务包括但不限于:

    1. 数据处理任务

    2. 业务逻辑任务

    3. 通知任务

    4. 其他自定义任务

设计方法论:

                 +------------------+

                        |   Frontend (UI)  |

                        | 定义任务逻辑     |

                        +--------+---------+

                                 |

                                 | 提交 JSON 任务定义

                                 v

               +-------------------------------+

               |   Backend (FastAPI)           |

               | 接收任务定义 → 存入 DB        |

               | 触发 Celery 任务              |

               +--------+----------------------+

                        |

                        | 发布到 Redis Queue

                        v

能,我只懂html其它基本不懂,现在用nocobase搭建我需要的系统,遇到不知道怎么解决的就问gemini。
把nocobase的文档丢给gemini,然后有问题就问它。目前遇到的工作流和数据表结构方面的问题它全都帮我解决了,等系统基本搭建完之后有几个需要二次开发才能搞定的功能我会试试用gemini帮我写插件,看看能不能搞定