实战项目说明书
把书签项目当成「模拟实战」,按下面任务自己加功能。不必全做完,建议按顺序做 3~5 个。
项目目标(回顾)
做一个「个人书签服务」:
- 用户注册登录
- 登录后管理自己的书签(标题、链接、可选描述)
- 前端 Vue 小页面可操作
- 后端 Nest + Prisma + SQLite
推荐实战任务(由易到难)
Lv1 热身
- 书签增加
description可选字段 - 列表支持
?q=关键词搜索标题 - 列表分页:
?page=1&pageSize=10,返回{ items, total }
Lv2 像真实业务
- 书签「收藏」开关
- 分类 / 标签(多对多或简单字符串标签)
GET /auth/me- 修改密码接口
Lv3 更接近上线
- 刷新令牌(access + refresh)
- 请求日志中间件(方法、路径、耗时)
- Docker 一键启动(可选,本资料未内置)
- 换成 PostgreSQL(只改 Prisma datasource,体会迁移)
前端任务(巩固联调)
- 空状态、加载中、错误提示做完整
- 把 Vue 小页迁移到你熟悉的 Nuxt 里,接同一套 API
- (可选)再体验 uniapp 请求同一后端 —— 体会「一套 API,多端 UI」
做任务时的建议流程
- 先写接口合同(路径、方法、出入参)
- 改 Prisma schema(如需)→ migrate
- 写 DTO → Service → Controller
- 用 curl 测通
- 再改前端
- 用 Prisma Studio 抽查数据
这和公司里接需求的顺序非常像。
完成标准(可自评)
- 至少完成 Lv1 全部 + Lv2 任意 2 个
- 新增模块时不用抄整个项目,能自己建 module/controller/service
- 能向别人讲清:请求如何从 Vue 到 Nest 再到 SQLite
下一节 → 下一步怎么接公司技术栈.md