核心技术基础
企业级单体仓库架构,专为可扩展的全栈开发设计,采用前沿技术
全栈应用
独特的**三框架支持** - 根据团队专业技能和项目需求选择 Next.js、Nuxt.js 或 TanStack Start。三者共享相同的核心库和基础设施。
Next.js 应用
基于 React 的全栈框架
- • App Router 支持 SSR/SSG
- • 服务端和客户端组件
- • API 路由和中间件
- • TypeScript 集成
Nuxt.js 应用
基于 Vue 的全栈框架
- • Vue 3 Composition API
- • 通用渲染
- • Nitro 服务引擎
- • 自动导入和模块
TanStack Start 应用
基于 TanStack 的全栈框架
- • 文件路由与类型安全
- • 服务端渲染与流式能力
- • React Query 数据获取
- • 现代化全栈开发体验
文档应用
静态文档和博客系统
- • Fumadocs 16 集成
- • MDX + Content Collections
- • 内置 i18n 支持
- • 零服务器依赖
基础设施与工具
样式系统
现代 CSS 框架和组件
- • Tailwind CSS 实用优先
- • Shadcn/ui 组件
- • Magic UI 组件
- • Motion 动画
构建系统
单体仓库管理和工具
- • Turborepo 单体仓库
- • PNPM 工作区
- • Docker 容器化
核心库
在所有应用间共享,每个服务支持多个提供商。
数据库
面向 SQLite 与 PostgreSQL 的类型安全数据层
Cloudflare 运行时
TinyShip CF 的 Workers 原生交付路径
身份验证
多提供商认证系统
支付系统
全球支付处理
邮件服务
多提供商邮件投递
短信服务
全球短信投递
云存储
统一云存储抽象层
权限
细粒度访问控制
验证器
模式验证系统
AI 集成
AI 驱动的功能
无供应商锁定理念
TinyShip 采用提供商抽象层设计,让您可以自由切换服务而无需更改应用代码。为成长中的企业提供真正的灵活性。
提供商灵活性
邮件服务
在 Resend、SendGrid 之间切换无需代码更改
支付处理
通过统一 API 支持 Stripe、PayPal、Creem 和 Dodo Payments
短信发送
Twilio、阿里云等短信服务商之间无缝切换
可扩展架构
插件系统
通过实现标准接口添加新提供商
配置驱动
通过环境变量切换提供商
面向未来
添加新服务不会破坏现有功能
成本优化
高性价比服务商
按你的规模挑选最划算的服务商
竞争性价格
永远不被昂贵的服务合同锁定
规模效率
随着业务增长选择最优提供商
供应商锁定问题
每个提供商的不同 API 意味着在切换服务时需要重写代码。
// Stripe-specific implementation
import Stripe from 'stripe'
const stripe = new Stripe(apiKey)
const session = await stripe.checkout.sessions.create({
line_items: [{ price: 'price_123', quantity: 1 }],
mode: 'subscription',
success_url: 'https://app.com/success',
cancel_url: 'https://app.com/cancel'
})
// WeChat Pay implementation (completely different)
import WechatPay from 'wechatpay-node-v3'
const pay = new WechatPay(config)
const order = await pay.transactions.native({
appid: 'wx123',
mchid: 'mch123',
description: 'Product',
out_trade_no: 'order_123',
amount: { total: 100, currency: 'CNY' }
})
统一 API
所有提供商使用一致的接口。只需更改一个参数即可切换。
import { createPaymentProvider } from '@libs/payment'
// One API for all providers
const provider = createPaymentProvider('stripe') // or 'wechat', 'creem'
const result = await provider.createPayment({
orderId: 'order_123',
userId: 'user_123',
planId: 'monthly',
amount: 1000,
currency: 'USD',
provider: 'stripe' // Just change this parameter!
})
// Switch providers without code changes:
// const provider = createPaymentProvider('wechat')
// const provider = createPaymentProvider('creem')
项目结构
有组织的单体仓库结构,具备可扩展性和可维护性
目录结构
架构优势
单体仓库架构
统一代码库,共享库和一致的工具链覆盖所有应用。
简化架构
使用轻量级 `libs` 文件夹而非复杂包,更易理解和维护。
类型安全
端到端 TypeScript 集成确保从数据库到 UI 的类型安全。
开发体验
热重载、自动导入和智能代码补全实现快速开发。
可扩展结构
模块化设计允许轻松添加新功能和应用。
TinyShip 不是低代码快速搭建平台,而是一个为企业级应用设计的专业开发基础架构。基于生产环境的最佳实践,提供高质量、可扩展的代码,让您能够构建稳定可靠的商业产品。