项目结构

项目结构

NextDevTpl 使用按功能组织的结构。路由放在 src/app,可复用产品模块放在 src/features,底层工具和基础设施放在 src/lib

顶层文件

路径作用
package.json脚本和依赖版本
next.config.mjsNext.js、MDX、构建配置
source.config.tsFumadocs 内容集合配置
drizzle.config.tsDrizzle 迁移配置
.env.example环境变量参考
deploy-build.batWindows 本地构建和上传脚本
start-prod.shLinux 服务器生产启动脚本

应用路由

src/app/
├── [locale]/
│   ├── (marketing)/     # 首页、博客、法律页面、PSEO 等公开页面
│   ├── (auth)/          # 登录、注册、找回密码
│   ├── (dashboard)/     # 登录后的用户工作台
│   ├── (admin)/         # 管理员后台
│   └── docs/            # Fumadocs 文档
└── api/                 # Route handlers 和 webhooks

[locale]next-intl 处理。当前语言配置在 src/i18n/routing.ts

功能模块

模块作用
src/features/auth登录、注册等认证 UI 和 hooks
src/features/credits积分账本、购买、余额工具
src/features/paymentCreem checkout 和支付 actions
src/features/subscription用户套餐查询和订阅 UI
src/features/settings资料、安全、账单、账户设置
src/features/support用户工单和管理员回复
src/features/admin管理后台 UI 组件
src/features/marketingHeader、Footer、Hero、Pricing、FAQ 等首页模块
src/features/storageS3/R2 上传和存储 provider
src/features/mailReact Email 模板和发信逻辑
src/features/sharedProviders、主题切换、语言切换、共享图标

基础设施模块

路径职责
src/db/schema.ts数据库表定义
src/lib/authBetter Auth server/client/edge/admin helpers
src/lib/rate-limit基于 Upstash 的限流和降级逻辑
src/lib/loggerPino logger 和 Axiom 集成
src/lib/monitoringSentry 监控 helpers
src/lib/source.tsDocs、Blog、Legal 内容加载器
src/lib/safe-action.tsServer Action client 配置
src/inngestInngest client 和后台函数

内容目录

路径内容
src/content/docs/en英文文档
src/content/docs/zh中文文档
src/content/blog/en英文博客
src/content/blog/zh中文博客
src/content/legal/en英文法律页面
src/content/legal/zh中文法律页面
messages/en.json英文 UI 文案
messages/zh.json中文 UI 文案

测试

集成测试在 src/test。目前覆盖支付、积分、工单、存储安全、设置、后台任务和邮件等流程。

本页目录