完整应用里程碑
checkpoint-complete-app;端到端 Capstone。
40 分钟
完整应用里程碑
checkpoint-complete-app 是全栈路线图的核心 Capstone:响应式前端 + JWT 安全后端 + 持久化数据库,从注册登录到业务 CRUD 一条龙。此前 fsm-crud、fsm-frontend、fsm-interactivity 是零件;本课要求 自行设计并交付 博客、站点构建器或电商等完整产品。技能栈默认 react-essentials + spring-boot-essentials + PostgreSQL,部署可复用 fsm-infra、docker-essentials、github-actions-essentials。
学习目标
- 对照 /roadmaps/full-stack checkpoint-complete-app,交付含 注册/登录、JWT、至少一个业务域 CRUD 的全栈应用
- 前后端分离:REST 或 BFF;CORS、错误格式、分页与校验与 Spring 课一致
- 可选集成 fsm-ses(验证邮件)、fsm-monitoring(健康检查),并在 fullstack-roadmap 节点下写复盘
路线图项目 idea
| 类型 | 核心实体 | 难点提示 |
|---|---|---|
| 博客 | User、Post | 作者权限、Markdown 或富文本 |
| 站点构建器 | Template、Site | 模板占位符替换、发布 URL |
| 简易电商 | Seller、Product、Order | 双角色、库存与订单状态机 |
选 一个 做到可演示即可;范围过大不如 小功能完整(含测试与 README)。
推荐架构
Browser ([react-essentials](/tracks/react-essentials))
→ HTTPS → nginx
→ /api/* Spring Boot ([spring-boot-essentials](/tracks/spring-boot-essentials))
→ PostgreSQL
JWT:登录发 access token;前端 Authorization header;刷新策略可选
后端:@RestController + Service + JPA/MyBatis;spring-security + JWT filter。前端:protected route、401 跳转登录、表单 @Valid _mirror。
安全与数据最低线
- 密码 bcrypt;JWT secret 来自环境变量
- 用户 A 不能改用户 B 的资源(授权测试必写)
- SQL 参数化;生产不返回 stack trace
- docker-essentials compose 中 DB 不对公网映射
部署与协作
- monorepo 或
frontend/+backend/双仓;fsm-collab README 标准 - Actions:PR 跑 test;main 构建镜像或 jar 并 deploy(fsm-automation/fsm-infra)
- Monit 或云 LB health check 指向
/actuator/health