Skip to Content
🚀 Drubase One v1.1 - 基于 Drupal 11 的多租户后端即服务平台
Docs前端应用Groups - 智能团队运动平台🌐 Groups — 构建于 Drubase One 的智能团队运动平台

🌐 Groups — 构建于 Drubase One 的智能团队运动平台

🏁 起点:一个简单的想法

最初,Groups 只是一个基于 Supabase 的团队运动小应用。

我们希望帮助朋友们更轻松地组织一场足球或篮球比赛——不用微信群吵闹、不用手动分队、不再为场地和时间冲突而头疼。

然而,当功能逐步扩展,我们发现——社区级应用需要更强的控制权、更灵活的后端、以及一个能让开发者”自托管”的可扩展 BaaS 平台。

于是,我们启动了迁移计划:

从 Supabase → 自研 Drubase One BaaS Platform。


🚀 新架构:Drubase One 驱动的多租户 BaaS 后端

Drubase One 是一个基于 Drupal 11 + Node 服务层 的现代化 BaaS 平台。它不仅仅是一个后端,更是一个 可自托管、可扩展、可商业化 的”后端即服务”解决方案。

在 Groups 项目中,Drubase One 提供了完整的后端支撑:

模块功能技术实现
🔐 认证系统用户注册、登录、JWT Token、资料更新user/login, user/register API
📦 数据管理多租户结构 (tenant + project_id)PostgreSQL schema 隔离
🌍 文件服务图片上传、头像管理、活动海报生成Node FileUpload Service
🔄 实时同步WebSocket 实时推送活动、队伍、位置变化Node + PostgreSQL LISTEN/NOTIFY
🧠 智能算法分组、队伍占用率计算Node 服务层中的 AlgorithmService
🧰 API 一致性所有实体接口自动生成 RESTful APIDrupal Entity + JSON:API 扩展
🧩 插件式扩展任意功能模块可热插拔Drupal Service Container 架构

一句话总结:

Drubase One 就像是 Supabase 的「开源兄弟」,但更开放、更自由,允许开发者自定义业务逻辑与多租户架构。


📱 Groups 前端:用 React Native 构建跨端体验

在前端层面,Groups 使用 React Native Web + Expo 架构,实现了一个能同时运行于 Web / iOS / Android 的现代化应用:

  • 🧍 用户登录注册 → 通过 Drubase One JWT API 认证
  • 🏟️ 活动创建 → 调用 baas/activities 接口
  • 🧩 智能分组 → 调用 Node 端算法服务,实时返回队伍分配结果
  • 🔄 实时数据同步 → 通过 WebSocket 与 BaaS 平台保持数据一致
  • 🖼️ 活动海报生成 → Node 服务动态生成可分享图片

核心设计理念是:

“所有状态都来自后端,所有逻辑都在服务层实现。”

这让 Groups 具备了天然的可维护性和一致性。


🧠 技术亮点 (Tech Highlights)

1️⃣ 自托管 BaaS:Supabase 的开源替代方案

Groups 不再依赖云端 Supabase,而是部署在 Drubase One 自研 BaaS 平台上。用户可在本地部署、亦可云端托管,完全掌控数据与逻辑。

2️⃣ 智能分组算法

内置自研概率分配算法:

概率 = (1 - 占用率^occupancyFactor) × (可用座位数 / 总可用座位数)^(1/occupancyFactor)

确保每次分组既公平又动态平衡,支持上百人实时匹配。

3️⃣ 实时同步

通过 PostgreSQL 的 LISTEN/NOTIFY 与 Node WebSocket 层结合,实现毫秒级的活动与队伍变更推送。

4️⃣ 多租户架构

每个用户或团队可在 Drubase One 中以独立租户 (tenant_project_id) 存在,形成一个天然的”微 SaaS”,可自托管或商业化运营。

5️⃣ 无缝文件存储

头像、海报、活动图片统一存储在 Drubase 文件服务中,支持 CDN 分发与权限控制。


💼 对开发者的意义

Drubase One + Groups 的组合,为独立开发者提供了一个完整的参考架构:

层级实现技术
🧩 数据层PostgreSQL + Entity ModelDrupal 11 Entity API
⚙️ 服务层Node.js + TypeScriptServiceFactory 模式
🌐 通信层RESTful + WebSocketJWT + 实时通道
📱 前端层React Native WebExpo + Hooks + Service Layer
🔁 部署层Docker Compose / K3s可自托管多租户 BaaS

它证明了一件事:

一个前端开发者,也能在 Drubase One 上构建自己的 SaaS 平台。


🧭 未来规划

Groups 将成为 Drubase One 官方示例项目,展示如何:

  • 用自研 BaaS 平台替代 Supabase;
  • 构建跨端应用;
  • 实现多租户 + 实时 + 文件 + AI 算法 的现代应用架构。

接下来计划:

  • 🧠 增加 AI 队伍建议算法
  • 📣 增强通知系统
  • 📍 集成地图和活动推荐
  • 🧰 提供开发者模板 (自托管 BaaS + 前端 Starter Kit)

🌟 一句话总结

Drubase One 让独立开发者拥有像 Supabase 一样的能力,但更自由、更强大、更可扩展。

【Groups】 则是这场理念的第一个成功实践。

【分则Slide】 是微信小程序在线版本,也将计划迁移到 Drubase One。


📖 深入了解

🔗 相关资源

  • 源码仓库: (待添加)
  • 在线演示: (待添加)
  • 技术博客: (待添加)
Last updated on