Luke a Pro

Luke Sun

Developer & Marketer

🇺🇦
EN||
RosettaChat 多语言聊天产品落地页

RosettaChat

production
SaaSAPILaravelReactAstroPostgreSQLRedisDockerCloudflareRealtimeWebSocketAITranslationChat

项目概览

RosettaChat 是一个围绕多语言沟通设计的线上聊天产品。它解决的核心问题很直接:每个参与者都可以自然地使用自己的语言输入,而其他人会用自己的语言阅读同一段对话。翻译不是外部工具,也不是复制粘贴的辅助流程,而是消息交付链路的一部分。

这是一个由我独立企划、设计、编码、部署与维护的 SaaS 产品。产品支持实时群聊、私聊、临时聊天室,并提供开放 API,让开发者可以快速构建线上聊天室,或把自动翻译消息接入自己的产品流程。

架构介绍

  • Monorepo 产品结构 — 项目拆分为 Laravel API(apps/api)、React Router v7 认证 Web App(apps/webapp)与 Astro 营销网站(apps/website)。
  • API-first 后端 — Laravel 12 后端同时服务 Web App 与外部集成,包含 Sanctum authentication、API token、webhook、Scribe API docs、Laratrust 权限与 Cashier billing 支持。
  • 聊天领域模型 — Workspace、Channel、Message、Thread、Direct Conversation、Temporary Room、Invite、Usage Quota 与 Attachment 都是后端一等模块,而不是只存在于前端 UI 的概念。
  • 翻译管线 — 消息创建后通过 Redis Queue 派发翻译任务。Workspace 频道消息使用 workspace language set,私聊消息使用接收者 preferred language。译文与原文分表存储,并在完成后通过实时通道推回界面。
  • 实时层 — Laravel Reverb 负责 WebSocket 更新,用于频道消息、翻译完成、typing 与 presence 类交互。
  • 加密与保留策略 — Workspace 与 Direct Chat 使用应用层 envelope encryption 边界保护内容;定时任务负责 retention、过期临时房间、译文、附件与 guest session 清理。
  • 生产部署rosettachat.appapp.rosettachat.app 部署在 Cloudflare Pages,api.rosettachat.app 通过 Cloudflare Tunnel 进入 VPS。后端使用 GHCR 预构建 Docker image,由 Docker Compose 运行 Caddy、PHP-FPM、Reverb、queue worker、scheduler、PostgreSQL 与 Redis。

核心功能

  • 多语言实时聊天 — 参与者不需要统一使用某一种团队语言。
  • 原文与译文切换 — 用户可以优先阅读译文,同时保留查看原文的入口。
  • 私聊与临时房间 — 同时支持长期沟通与轻量、短期的会话场景。
  • 工作区频道 — 支持公开、私密、密码保护等频道组织方式。
  • 开放 API — 开发者可以快速搭建在线聊天室,或把翻译消息能力接入外部工作流。

Related Projects

Submeto - 无需后端的表单提交服务

Submeto

一个 backend-as-a-service 平台,让你无需编写服务器代码即可收集表单提交数据。

SaaSAPIPHPLaravel +7
TickBase 市场数据 API 落地页

TickBase

一个面向开发者的市场数据聚合平台,覆盖外汇汇率、贵金属、历史时序数据与 API key 访问控制。

SaaSAPIGoLaravel +10
MarkNest
ongoing

MarkNest

一个无干扰的 Markdown 写作与分享平台,内建媒体管理与访问控制功能。

Next.jsLaravelPostgreSQLRedis +2
BizTrust Academy

BizTrust Academy

一套用于追踪员工课程、记录学习反思并衡量学习成果实际落地情况的学习管理系统。

SaaSLMSPHPLaravel +4
Kakeibo 个人财务记账落地页

Kakeibo

一个面向个人、家庭与小团队的协作财务记账 SaaS,用于管理账户、交易、分类、报表与共享资金流程。

SaaSFinanceAPILaravel +9