# 技术栈文档 > **文档版本**: v1.0.0 > **创建日期**: 2026-05-25 > **适用范围**: FischerX 项目开发人员 ## 目录 - [前端技术栈](#前端技术栈) - [后端技术栈](#后端技术栈) - [基础设施](#基础设施) - [技术选型理由](#技术选型理由) --- ## 前端技术栈 ### 核心框架 | 技术 | 版本 | 用途 | |-----|------|------| | Next.js | 16+ | React 框架,支持 SSR/SSG | | React | 18+ | UI 库 | | TypeScript | 5+ | 类型安全的 JavaScript | ### UI 组件 | 技术 | 版本 | 用途 | |-----|------|------| | Tailwind CSS | 4+ | 原子化 CSS 框架 | | Shadcn UI | latest | 基于 Radix UI 的组件库 | | Lucide React | latest | 图标库 | ### 状态管理 | 技术 | 版本 | 用途 | |-----|------|------| | Zustand | latest | 轻量级状态管理 | | React Query | 5+ | 服务端状态管理 | | React Hook Form | latest | 表单管理 | ### 工具 | 技术 | 版本 | 用途 | |-----|------|------| | Vitest | latest | 测试框架 | | Playwright | latest | E2E 测试 | | ESLint | latest | 代码检查 | | Prettier | latest | 代码格式化 | --- ## 后端技术栈 ### 核心框架 | 技术 | 版本 | 用途 | |-----|------|------| | NestJS | 11+ | Node.js 企业级框架 | | TypeScript | 5+ | 类型安全 | | Prisma | 6+ | ORM | ### 数据库 | 技术 | 版本 | 用途 | |-----|------|------| | PostgreSQL | 15+ | 主数据库 | | Redis | 7+ | 缓存和会话存储 | ### 认证与安全 | 技术 | 版本 | 用途 | |-----|------|------| | Passport.js | latest | 认证中间件 | | JWT | latest | Token 认证 | | bcrypt | latest | 密码加密 | ### 工具 | 技术 | 版本 | 用途 | |-----|------|------| | Jest | latest | 测试框架 | | Swagger | latest | API 文档 | | class-validator | latest | 数据验证 | --- ## 基础设施 ### 容器化 | 技术 | 版本 | 用途 | |-----|------|------| | Docker | latest | 容器运行时 | | Docker Compose | latest | 本地开发环境 | | Kubernetes | latest | 容器编排 | ### CI/CD | 技术 | 用途 | |-----|------| | GitHub Actions | CI/CD 流水线 | | 阿里云效 | 国内 CI/CD 备选 | ### 云服务 | 服务 | 用途 | |-----|------| | 阿里云 OSS | 对象存储 | | 阿里云 CDN | 内容分发 | | 阿里云 RDS | 托管数据库 | --- ## 技术选型理由 ### 为什么选择 Next.js? 1. **SSR/SSG 支持** - 提升 SEO 和首屏加载速度 2. **App Router** - 现代化的路由架构 3. **API Routes** - 前后端一体化开发 4. **生态成熟** - 国内生态支持良好 5. **类型安全** - 完整的 TypeScript 支持 ### 为什么选择 NestJS? 1. **企业级框架** - 模块依赖注入、中间件、守卫 2. **TypeScript 优先** - 完整的类型支持 3. **模块化架构** - 易于扩展和维护 4. **生态丰富** - 丰富的插件和模块 ### 为什么选择 Prisma? 1. **类型安全** - 自动生成类型定义 2. **直观的 Schema** - 简洁的 DSL 语法 3. **强大的迁移工具** - 数据库版本管理 4. **多数据库支持** - PostgreSQL, MySQL 等 ### 为什么选择 Monorepo? 1. **代码共享** - 前后端共享类型和工具 2. **依赖管理** - 统一的依赖版本 3. **构建优化** - Turborepo 增量构建 4. **团队协作** - 统一的规范和流程 --- ## 下一步 - [架构决策记录](./design-decisions/) - 查看 ADR --- > **文档维护**: 本文档由开发团队维护,如有问题或建议请提交 Issue。 > **最后更新**: 2026-05-25