ZYH 开发教程
学习中心/项目实战
项目实战

三个递进项目

图书数据库、任务 API、可上线内容平台三个递进项目。

项目一:图书借阅数据库(第 2–5 周)#

目标#

只做数据库,不做漂亮界面。训练从业务需求到表结构、SQL、索引、事务和备份的完整过程。

必做功能#

  • 用户、图书、作者、图书作者关系、借阅记录;
  • 借书、归还、续借、逾期;
  • 当前库存不能为负;一本书可有多个作者;
  • 查询热门图书、逾期用户、从未借阅用户、月度借阅量;
  • 借书过程使用事务;
  • 有初始化数据、表结构脚本、查询脚本、备份和恢复说明。

交付物#

README.md、ER 图、迁移 SQL、种子数据、至少 20 条有业务意义的查询、执行计划对比、恢复记录。

验收#

随机提出 5 个查询需求,能独立完成 4 个;能说明每个约束和索引为什么存在;删除练习库后能从备份恢复。


项目二:任务管理 REST API(第 9–13 周)#

目标#

连接 HTTP、Express 和 PostgreSQL,完成可以被前端或手机调用的后端。

必做功能#

  • 注册、登录、退出或令牌失效策略;
  • 新建、查看、修改、删除任务;
  • 分页、按完成状态筛选、按截止日期排序;
  • 普通用户只能操作自己的任务;管理员权限单独设计;
  • 输入校验、统一错误响应、请求日志;
  • 数据库迁移与种子数据;
  • 自动化测试覆盖正常、未认证、越权、无效输入、冲突。

推荐接口#

text
POST   /api/v1/auth/register
POST   /api/v1/auth/login
GET    /api/v1/tasks?page=1&pageSize=20&completed=false
POST   /api/v1/tasks
GET    /api/v1/tasks/:id
PATCH  /api/v1/tasks/:id
DELETE /api/v1/tasks/:id
GET    /health/live
GET    /health/ready

验收#

用两个普通账号验证互相不能访问任务;运行测试;故意关闭数据库并观察错误和健康检查;解释请求从路由到 SQL 再返回的全过程。


项目三:可上线的个人内容平台(第 14–16 周)#

可做博客、学习笔记、书签收藏或小型社区。不要再照搬第二个项目,应增加真实业务关系。

必做功能#

  • 用户、内容、标签、评论或收藏等至少 4 类实体;
  • 草稿/发布状态、作者授权、分页搜索;
  • PostgreSQL 数据持久化;
  • Node.js + Express 后端;
  • Docker Compose 管理应用和数据库;
  • Nginx 反向代理、域名、HTTPS;
  • 日志、健康检查、备份任务和恢复演练;
  • 部署与故障排查文档。

上线演练#

  1. 在新环境按 README 从零部署;
  2. 创建账号和测试数据;
  3. 备份数据库;
  4. 模拟应用崩溃并恢复;
  5. 在新数据库恢复备份;
  6. 检查登录、内容列表和写入;
  7. 记录恢复时间、失败点和改进项。

最终作品自述#

能在 5 分钟内讲清:需求、架构、数据模型、最难问题、安全措施、测试策略、部署流程、一次真实故障及解决办法。讲不清的部分就是下一轮复习重点。

可搜索标题、说明和正文Esc 关闭
从一个简单词开始试试“HTML”“数据库”“登录”或“部署”
在线练习修改代码并查看结果
运行结果