项目结构
了解 LaunchSaaS 的文件夹组织和架构
项目结构
LaunchSaaS 遵循 Next.js App Router 约定,具有良好组织的结构,以实现可扩展性和可维护性。
根目录
.
├── src/ # 应用程序源代码
├── content/ # MDX 内容(博客、文档、更新日志)
├── public/ # 静态资源
├── scripts/ # 实用脚本
├── drizzle/ # 数据库迁移
├── .env # 环境变量(不在 git 中)
├── package.json # 依赖和脚本
└── next.config.mjs # Next.js 配置源代码目录
App Router (src/app/)
src/app/
├── layout.tsx # 根布局
├── page.tsx # 主页
├── globals.css # 全局样式
│
├── (marketing)/ # 公共营销页面
│ ├── layout.tsx # 带头部/页脚的营销布局
│ ├── blog/ # 博客页面
│ ├── pricing/ # 定价页面
│ └── ... # 其他营销页面
│
├── (protected)/ # 受保护的路由(需要身份验证)
│ ├── layout.tsx # 带侧边栏的共享布局
│ ├── loading.tsx # 加载骨架
│ ├── dashboard/ # 用户仪表板
│ └── admin/ # 管理面板
│
├── auth/[path]/ # 身份验证页面
├── docs/ # 文档站点
└── api/ # API 路由路由组
(marketing)/- 带营销布局的公共页面(头部、页脚)(protected)/- 带共享侧边栏布局的已认证页面
组件 (src/components/)
src/components/
├── ui/ # 基础 UI 组件(shadcn/ui)
├── layout/ # 布局组件
│ ├── site-header.tsx # 带嵌套导航的营销头部
│ ├── site-footer.tsx # 营销页脚
│ ├── app-sidebar.tsx # 仪表板/管理侧边栏
│ ├── user-menu-button.tsx # 带基于角色菜单的用户下拉
│ ├── dynamic-breadcrumb.tsx # 自动生成的面包屑
│ └── ...
├── landing/ # 着陆页部分
├── blog/ # 博客组件
├── shared/ # 共享组件
└── email/ # 电子邮件模板服务器操作 (src/actions/)
按领域组织的类型安全服务器操作:
src/actions/
├── billing.ts # 支付和订阅操作
├── newsletter.ts # 新闻通讯订阅操作
├── storage.ts # 文件存储操作
└── user.ts # 用户管理操作配置 (src/configuration/)
用于简单自定义的模块化配置文件:
src/configuration/
├── index.ts # 中央导出
├── metadata.ts # 网站名称、标题、描述、SEO
├── navbar.ts # 导航栏项目和操作
├── sidebar.ts # 仪表板/管理侧边栏(基于角色)
├── user-button.tsx # 用户下拉菜单(基于角色)
├── fotoer.ts # 页脚链接和徽章
├── social-links.ts # 社交媒体链接
└── product.ts # 定价和产品配置库 (src/lib/)
核心实用程序和集成:
src/lib/
├── db.ts # 数据库客户端
├── auth/ # Better Auth 配置
├── stripe.ts # Stripe 客户端
├── email.ts # 电子邮件发送
├── safe-action.ts # 类型安全的服务器操作
├── session.ts # 会话助手
└── ... # 其他实用程序模式 (src/schemas/)
src/schemas/
├── site-configuration.ts # 配置类型定义
├── tables/ # 数据库表定义
│ ├── auth.ts # 身份验证表(自动生成)
│ ├── payment.ts # 支付表
│ └── index.ts # 重新导出
└── ... # Zod 验证模式环境 (src/env/)
src/env/
├── server.ts # 仅服务器环境变量
└── client.ts # 客户端安全环境变量内容目录
content/
├── blog/ # 博客文章(MDX)
├── docs/ # 文档(MDX)
└── changelog/ # 更新日志条目(MDX)关键文件
| 文件 | 描述 |
|---|---|
src/configuration/metadata.ts | 网站名称、标题、描述、logo |
src/configuration/navbar.ts | 带嵌套菜单的导航 |
src/configuration/sidebar.ts | 仪表板/管理的基于角色侧边栏 |
src/configuration/product.ts | 定价计划和产品 |
src/lib/auth/auth.ts | Better Auth 配置 |
src/app/globals.css | 主题颜色和全局样式 |
content/docs/meta.json | 文档侧边栏顺序 |