今天我们要完成一个完整的项目:从项目初始化、数据库设计、API 开发、前端界面,到测试和部署准备。全程由 Claude Code 辅助,体验 AI 驱动的开发流程。
项目目标:个人博客系统
功能需求
核心功能
- • 文章发布、编辑、删除
- • Markdown 编辑器
- • 文章分类和标签
- • 评论系统
- • 用户认证
技术栈
- • Next.js 14 + TypeScript
- • Prisma + PostgreSQL
- • NextAuth.js
- • Tailwind CSS
- • React Markdown
第一步:项目初始化
让 Claude Code 帮我们创建项目骨架和基础配置。
1.1 创建 Next.js 项目
claude "创建一个 Next.js 14 项目: 项目名:my-blog 使用 TypeScript 使用 App Router 使用 Tailwind CSS 使用 ESLint"
1.2 安装依赖
claude "安装项目依赖: 1. @prisma/client prisma - 数据库 ORM 2. next-auth - 用户认证 3. react-markdown - Markdown 渲染 4. zod - 数据验证 5. @tanstack/react-query - 数据请求"
1.3 配置环境变量
claude "创建环境变量配置: .env.example - 示例文件 .env.local - 本地开发环境 包含: - DATABASE_URL - NEXTAUTH_SECRET - NEXTAUTH_URL"
💡 AI 会自动做什么
- • 运行 npx create-next-app 命令
- • 安装所有依赖包
- • 创建配置文件
- • 生成随机的 NEXTAUTH_SECRET
- • 更新 .gitignore
第二步:数据库设计
使用 Prisma 设计数据库模型。
2.1 初始化 Prisma
claude "初始化 Prisma: 1. 运行 npx prisma init 2. 配置 PostgreSQL 连接 3. 创建数据模型"
2.2 设计数据模型
claude "在 prisma/schema.prisma 创建数据模型: User 模型: - id, email, name, password, avatar - 关联:posts, comments Post 模型: - id, title, content, slug, published - authorId, categoryId - createdAt, updatedAt - 关联:author, category, tags, comments Category 模型: - id, name, slug - 关联:posts Tag 模型: - id, name, slug - 关联:posts(多对多) Comment 模型: - id, content, authorId, postId - createdAt - 关联:author, post"
AI 会生成完整的 Prisma schema,包括所有关联关系和索引。
2.3 生成数据库
claude "执行数据库迁移: 1. npx prisma migrate dev --name init 2. npx prisma generate 3. 创建 lib/prisma.ts 客户端"
第三步:API 开发
创建 RESTful API 接口。
3.1 文章 API
claude "创建文章 API 路由: app/api/posts/route.ts - GET: 获取文章列表(支持分页、筛选) - POST: 创建文章(需要认证) app/api/posts/[id]/route.ts - GET: 获取单篇文章 - PUT: 更新文章(需要认证) - DELETE: 删除文章(需要认证) 使用 Zod 验证请求参数"
3.2 评论 API
claude "创建评论 API: app/api/posts/[id]/comments/route.ts - GET: 获取文章评论 - POST: 添加评论(需要认证) app/api/comments/[id]/route.ts - DELETE: 删除评论(需要认证)"
3.3 用户认证
claude "配置 NextAuth.js: app/api/auth/[...nextauth]/route.ts - 使用 Credentials Provider - 密码使用 bcrypt 加密 - 配置 session 策略 - 创建登录、注册接口"
✨ API 开发要点
- • 所有接口都有错误处理
- • 使用 Zod 验证请求参数
- • 需要认证的接口检查 session
- • 返回统一的 JSON 格式
- • 添加适当的 HTTP 状态码
第四步:前端开发
创建用户界面和交互逻辑。
4.1 首页 - 文章列表
claude "创建首页: app/page.tsx - 展示文章列表 - 支持分页 - 显示分类筛选 - 响应式布局 components/PostCard.tsx - 文章卡片组件 - 显示标题、摘要、作者、日期"
4.2 文章详情页
claude "创建文章详情页: app/posts/[slug]/page.tsx - 使用 react-markdown 渲染内容 - 显示作者信息 - 显示标签 - 评论列表和表单 components/MarkdownRenderer.tsx - Markdown 渲染组件 - 代码高亮 - 自定义样式"
4.3 文章编辑器
claude "创建文章编辑器: app/admin/posts/new/page.tsx app/admin/posts/[id]/edit/page.tsx components/MarkdownEditor.tsx - Markdown 编辑器 - 实时预览 - 标题、分类、标签选择 - 发布/草稿切换"
4.4 用户认证页面
claude "创建认证页面: app/login/page.tsx - 登录页 app/register/page.tsx - 注册页 components/AuthForm.tsx - 表单验证 - 错误提示 - 加载状态"
第五步:测试与优化
5.1 单元测试
claude "添加测试: 1. 安装 Jest 和 React Testing Library 2. 为 API 路由添加测试 3. 为组件添加测试 4. 配置测试脚本"
5.2 性能优化
claude "优化性能: 1. 添加图片优化(next/image) 2. 实现 ISR(增量静态再生成) 3. 添加 loading 状态 4. 优化数据库查询(添加索引)"
5.3 SEO 优化
claude "添加 SEO: 1. 配置 metadata(title, description) 2. 生成 sitemap.xml 3. 配置 robots.txt 4. 添加 Open Graph 标签"
第六步:部署准备
6.1 Docker 配置
claude "创建 Docker 配置: 1. Dockerfile - 生产环境镜像 2. docker-compose.yml - 本地开发环境 3. .dockerignore"
6.2 CI/CD 配置
claude "配置 GitHub Actions: .github/workflows/ci.yml - 运行测试 - 检查代码规范 - 构建 Docker 镜像"
6.3 部署文档
claude "创建部署文档: DEPLOYMENT.md - 环境要求 - 部署步骤 - 环境变量配置 - 常见问题"
项目总结
完成的功能
后端
- ✓ 完整的数据库设计
- ✓ RESTful API 接口
- ✓ 用户认证系统
- ✓ 数据验证和错误处理
前端
- ✓ 响应式界面
- ✓ Markdown 编辑器
- ✓ 评论系统
- ✓ 用户认证界面
🎉 恭喜!
你已经用 Claude Code 完成了一个完整的全栈项目。整个过程中:
- • AI 帮你写了 90% 的代码
- • 你专注在架构设计和需求确认
- • 代码质量高,符合最佳实践
- • 包含测试和文档
- • 可以直接部署上线
💡 关键经验
- • 分步骤进行,每步确认后再继续
- • 明确技术栈和代码规范
- • 让 AI 先分析需求,再动手
- • 及时测试,发现问题立即修复
- • 保持对话上下文,AI 会记住之前的决策
今日小结
你已经学会了:
- ✓用 Claude Code 从零搭建完整项目
- ✓设计数据库模型和 API 接口
- ✓开发前后端功能
- ✓添加测试和优化性能
- ✓准备部署和上线
明天预告
在 Day 6,我们将学习:
- • 高级配置和权限管理
- • 与 Git 的深度集成
- • 团队协作最佳实践
- • 自定义工作流
🎓 加入云途AGI社群,获取更多学习资源
社群提供基础资源、答疑支持和陪伴式学习,帮助你更好地掌握 AI 工具
📚
基础资源
入门教程、工具指南、实战案例
💬
答疑支持
遇到问题随时提问,及时获得解答
🤝
陪伴式学习
与同行者一起成长,不再孤单学习