iflux-next 架构设计
基于 Next.js 16 + React 19 + TypeScript 6 的 monorepo 项目,每个产品可独立部署。
·622 字·2 分钟
0iflux-next 是一个面向独立开发者的 SaaS 产品集合。每个产品都可以独立部署、独立迭代。
作为独立开发者,你需要在多个产品之间共享代码 — UI 组件、工具函数、认证逻辑、数据库 schema。Monorepo 让你:
packages/ 共享apps/
web/ # 企业官网
blog/ # 博客系统(MDX 驱动)
docs/ # 文档站(MDX 驱动)
links/ # 链接管理(跨平台)
studio/ # AI 创作平台(跨平台)
packages/
ui/ # shadcn/ui 组件库(@base-ui/react)
utils/ # 工具函数(cn、frontmatter 解析)
config/ # 共享配置
database/ # 数据库
api/ # API 层
auth/ # 认证
email/ # 邮件
payment/ # 支付
storage/ # 存储
logger/ # 日志
analytics/ # 分析links 和 studio 采用 core/ 目录分离平台无关逻辑:
apps/links/
core/ # 平台无关核心逻辑(目前为占位)
web/ # Next.js Web 版本
mobile/ # 移动端(占位)
desktop/ # 桌面端(占位)
browser-extension/ # 浏览器插件(占位)平台特定代码只包含 UI 和 API 适配,业务逻辑全部放在 core/ 中。
详细说明请参考 跨平台方案选型。
| 类别 | 技术 | 版本 |
|---|---|---|
| 框架 | Next.js | 16.2.4 |
| UI | React | 19.2.5 |
| 语言 | TypeScript | 6.0.3 |
| 样式 | Tailwind CSS | 4.2.4 |
| 组件库 | shadcn v4 (base-maia) + @base-ui/react | - |
| 图标 | lucide-react | 1.14.0 |
| 暗色模式 | next-themes | 0.4.6 |
| Lint/Format | Biome | 2.4.14 |
| 包管理 | Bun | - |
| Monorepo | Turborepo | 2.9.7 |
| 单元测试 | Vitest |
修改 packages/ui 或 packages/utils 中的代码,消费方应用通过 bun dev 自动热更新(Turborepo 处理依赖)。
apps/ 下创建目录package.json、next.config.mjs、tsconfig.json 作为模板package.json 的 workspaces 中注册"use client""use client"cn() 合并 Tailwind 类名(clsx + tailwind-merge)接下来我们会逐步完善每个产品的内容,从 web 开始,然后是 blog、docs,最后是 links 和 studio 的跨平台实现。
如果你对某个部分感兴趣,欢迎在 GitHub 上关注项目进展。
| 4.1.5 |
| E2E 测试 | Playwright | 1.59.1 |
| 后端服务 | Supabase | - |