Skip to content

Instantly share code, notes, and snippets.

@Hu-Wentao
Last active October 22, 2022 05:48
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Hu-Wentao/3f259f05d5e4e34637619a17559325ee to your computer and use it in GitHub Desktop.
Save Hu-Wentao/3f259f05d5e4e34637619a17559325ee to your computer and use it in GitHub Desktop.
RFC: MindBase ❤️ TiCloud

Github Repo: MindBase https://github.com/Hu-Wentao/MindBase

RFC: MindBase 开源的DBaaS服务 - ❤️ TiCloud

项目介绍

Let your mind be the base !

MindBase - 以Flutter与TiCloud为基础,打造一个DBaaS服务和内容管理系统(CMS)。

背景&动机

我们希望发挥TiFlash的HTAP能力,结合Flutter的跨平台与TiCloud简洁易用的特性,构建一个高性能的Airtable替代,向用户提供一个DBaaS服务与内容管理系统(CMS)解决方案。

信息社会,如何高效的获取数据,提高数据的流动性,将会是决定数字生产力的关键。火热的Python爬虫课程,雨后春笋般的图形化自动机器人框架,闷声发大财的验证码平台,无一不在诉说着数据的价值。

MindBase会是下一个“自动爬虫平台”吗?

答案当然是否定的,我们希望通过MindBase构建一个加速数据交换的自动化世界。 作为一种内容管理系统(CMS),MindBase提供的GUI可以让用户快速上手管理数据。而开放的API则提供丰富的扩展性。 依托用户鉴权体系与数据源共享机制,不同的MindBase节点之间可以灵活配置数据同步规则,让无尽内耗的爬虫攻防变成开放自由的数据交易,让数据创造更大的价值。 最后,开源的MindBase将提供包括SaaS服务/Docker自部署在内的多种上线方案,以确保零门槛使用。

项目设计

主要功能

  • 多租户管理
  • 用户与团队管理
  • 基于TiCloud的内容管理系统(CMS)
  • TiCloud的可视化CRUD操作终端/RESTful端口
  • 批量导入导出 JSON/CSV/XLSX
  • 表格化数据展示/数据分析
  • 基于LISP/Scheme S表达式的数据实时计算
  • 单表映射到多视图

未来扩展

  • 元数据模型管理
  • 表达式接入云函数
  • 新增UML视图,基于数据模型与云函数,直接生成微服务Docker镜像

项目设计

客户端

使用Flutter构建客户端

前期支持Android,macos,Web三端

用户登陆注册模块

前期支持邮箱注册与登陆

团队管理模块

支持团队创建,人员邀请

工作空间管理

支持工作空间增删改

视图管理

前期支持表格视图,树视图。

表达式解析

前期支持解析用户输入的前缀与中缀表达式,转换为LISP/Scheme S表达式,用于计算和持久化

后端

SpringBoot + 开源Appwrite SDK 实现后端逻辑,并使用TiCloud作为数据库功能。

提供API创建/修改表和记录

提供表级别和行级别的权限管理功能。

数据变更实时订阅

客户端通过Websocket订阅指定表的数据变更,包括用户信息,元数据的变更。

数据导入导出

前期支持数据JSON导入,并可扩展XlSX/CSV/TSV等数据的导入

数据源接入

可以将外部数据库/RESTful API/GraphQL/gRPC作为数据源

表达式求值

内嵌LISP/Scheme表达式解析求值,用于计算动态数据,为视图提供数据源

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment