Tanmer SaaS 平台介绍

Author Tanmer Tanmer
Tanmer · 2024-11-10发布 · 939 次浏览

DRY(不要重复自己)原则是编程的核心原则之一,它倡导通过重复使用和回收已经完成的工作来节省时间,重复本质上是低效的,DRY原则鼓励您创建工作流程和模板,...

DRY(不要重复自己)原则是编程的核心原则之一,它倡导通过重复使用和回收已经完成的工作来节省时间,重复本质上是低效的,DRY原则鼓励您创建工作流程和模板,以最小化它们。

愿景

Tanmer SaaS平台意在构建一个通用的SaaS化架构模型,这个模型实现统一的用户认证管理(tanmer-sso),共享一个中央控制中心(tanmer-cc),所有的业务应用(APP)都基于一个标准规范的Rails模板(tanmer-egg)构建,并统一通过中央控制中心进行安装和配置。 这样实现的目的是为了解决以下痛点:
  • 基于Rails原生的架构搭建新项目,不能继承过去的最佳实践。
  • 过去开发的通用类应用,没有一个很好的方法集成到下一个新项目中。
  • 往往每个项目的【用户认证、后端管理、资源配置】部分都是重复工作。
  • 现实业务的复杂性和快速变化的需求让定制化的项目越来越难以维护。
所以,Tanmer SaaS的开发愿景应该能够实现如下理念:
  • 重复的工作应该采用通用的代码实现
  • 开发者只关心业务本身的需求实现
  • 开发者按照一个严格的规则限定去实现新项目全生命周期迭代

架构

Tanmer SaaS平台基于如下架构模型:
一套完整的Tanmer SaaS平台应该包含如下几个模块:
  • tanmer-sso: 单点登录模块,实现统一账户认证
  • tanmer-cc: 统一控制中心,实现管理和租户端统一应用管理和调度
  • tanmer-egg:用于创建规范的业务应用APP
在平台上用户关系如下图所示:

tanmer-sso

单点登录系统

tanmer-cc

独立开发的统一控制中心

tanmer-egg

基于our-basic-rails构建的一个Rails原生模板

应用场景

当Tanmer SaaS平台打造出来后,公司所有的开发人员都将开发工作移植到本平台上,同时基于平台的开发规则和约定完成项目开发。我们会基于Tanmer SaaS发两个平台级项目: 探码DaaS平台和律数平台。
探码DaaS平台的建设思路如下图: 基于数据驱动的企业信息化建设平台
律数平台的建设思路如下图: 律师数据资产化运营平台

即将启动的应用

1. data/tanmer-data-preparation

一个在线数据准备(建表、导入、清洗(合并、去重、结构化、ETL)、查询、导出)工具。
参考: ETL,BigData SaaS

2. apps/tanmer-helper

在线文档系统搭建,这个文档可以是:学习教程、帮助中心FAQ、知识库,首先供探码内部用于给每个项目创建在线学习教程和帮助文档。
参考: Baklib

3. apps/tanmer-cms

移植RainCMS, 实现在线定制化网站建设管理。首先供探码内部用于给每个APP创建官网。
 

SaaS 软件库

  • 通用域
    • domains/tmdata-members 成员协同
    • domains/tmdata-notifications 消息通知
  • 通用 Gem
    • acts_as_identifier ActiveRecord 为唯一标识字段自动生成不重复的值
    • editor_js EditorJS 前端渲染
    • ip_locator_cn 获取 IP 地址的地理位置
    • kiba-tanmer Kiba 的扩展库
    • yunpian-captcha 云片图片验证码
    • omniauth-tanmer 探码 SSO 登录客户端
提交反馈

博客 博客

专注数字内容治理,助力数字体验升级

大数据与知识管理:如何把海量数据变成可用知识

大数据与知识管理:如何把海量数据变成可用知识

大数据提供客户在问什么、买什么、抱怨什么的信号,知识管理把这些信号变成可信、可复用的答案。本文讲清两者区别、四条数据驱动知识的路径、零售案例,以及缺少治理时大数据为何失效。

Author big-data-and-knowledge-management
By Lisa
发布:2026-11-02
结构化数据与非结构化数据:为什么拆分会误导客服团队

结构化数据与非结构化数据:为什么拆分会误导客服团队

• 本文用客服场景的例子,说明结构化、半结构化与非结构化数据的区别,指出二元划分的价值与误用,并给出以决策为核心的做法:为高频决策建立字段,为叙述性内容标注负责人与复核日期,把重复流程变成引导式流程。

Author structured-vs-unstructured-data
By Lisa
发布:2026-10-29
通过MCP连接Claude与知识库:Baklib完整指南

通过MCP连接Claude与知识库:Baklib完整指南

本文介绍 MCP 如何让 Claude 无需定制 API 即可连接知识库,涵盖其原理、三种连接方式、部署步骤、真实用例与安全要点,并说明 Baklib 的原生 MCP 支持与内容管理能力。

Author claude-mcp-knowledge-base-connector
By Lisa
发布:2026-10-23
通用软件产品线上宣传营销指南

通用软件产品线上宣传营销指南

适用于 B2B / B2C 通用软件产品,梳理可长期复用的线上宣传与获客渠道,指导内容团队和市场团队选择合适的组合与执行方式。

Author c53d
By Lisa
发布:2026-09-21