Skip to content

第六阶段 – 最终项目(持续进行)

项目 1: 带认证的完整 CRUD

  • 目标: 构建一个稳健的 RESTful API,具备安全认证和测试。
  • 技术: Spring Boot, Spring Data JPA (PostgreSQL), Spring Security (JWT), JUnit 5, Testcontainers。
  • 功能: 对实体(例如任务、用户)进行 CRUD 操作,带 roles (ADMIN, USER) 的认证,使用 Swagger 进行文档化。
  • 可选: 添加 Thymeleaf 界面以查看/管理任务。
  • 示例: 用于管理项目的 API(实体:Project, Task, User),带受保护的 endpoints。

项目 2: 文件上传

  • 目标: 为项目 1 的 API 添加文件上传功能。
  • 技术: Spring Boot (MultipartFile), Amazon S3 或本地存储,文件验证。
  • 功能: 上传与任务相关的图片/文档,验证类型/大小。
  • 示例: 允许在 API 中为任务上传附件(例如 PDF, PNG)。

项目 3: 云部署

  • 目标: 将 API 部署到云平台并实现 CI/CD。
  • 技术: Railway, Heroku 或 AWS (Elastic Beanstalk), GitHub Actions, Docker。
  • 功能: 打包为 JAR/Docker,配置环境变量,自动化部署。
  • 可选: 使用 Redis 实现缓存以优化频繁查询。
  • 示例: 在 Railway 上部署项目 API,结合 PostgreSQL 和 CI/CD。

项目 4: 微服务

  • 目标: 将项目 1 的 API 拆分为编排的微服务。
  • 技术: Spring Cloud (Eureka, Gateway), Docker Compose, REST 通信。
  • 功能: 为 TasksUsers 创建微服务,带服务发现。
  • 可选: 使用 RabbitMQ 实现微服务间的异步通信。
  • 示例: 将任务和用户逻辑分为两个服务,使用 Docker 进行编排。

项目 5: 外部 API 集成

  • 目标: 消费外部 API 以增强功能。
  • 技术: Spring RestTemplate 或 WebClient, API 认证(例如 OAuth2)。
  • 功能: 集成公共 API(例如,通过 SendGrid 发送电子邮件通知)。
  • 可选: 添加 GraphQL query 以检索任务/用户,并将元数据存储在 MongoDB 中。
  • 示例: 添加任务完成时的电子邮件通知。

作品集最佳实践

  • Git: 按功能提交(例如,feature/crud, feature/upload),清晰的分支。
  • 文档: README 包含描述、设置、endpoints、部署和截图。
  • 发布: 在 GitHub 上托管,带 open-source 许可证(例如 MIT)。

资源