# gstack-demo **Repository Path**: yaojianfeng/gstack-demo ## Basic Information - **Project Name**: gstack-demo - **Description**: 这是一个用gstack工作流+Claude Code 写的用来介绍如何使用gstack工作流的项目 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-21 - **Last Updated**: 2026-04-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # gstack-demo 一个教别人使用 gstack AI 开发工作流的 Spring Boot 示例项目。 ## 项目简介 本项目是一个极简的任务管理(Todo)API,用于演示: - 如何用 gstack 工作流从零构建一个 Spring Boot 应用 - 分阶段交付的开发模式 - 完整的开发过程记录(DESIGN_LOG.json) ## 技术栈 - Java 17 - Spring Boot 3.2.4 - Spring Data JPA - MySQL 8.0 - SpringDoc OpenAPI 2.4.0 - Docker + docker-compose ## 快速开始 ### 方式一:使用 Docker(推荐) ```bash # 1. 克隆项目 git clone cd gstack-demo # 2. 一键启动(MySQL + 应用) docker-compose up -d # 3. 等待约10秒,然后访问 API 文档 open http://localhost:8080/swagger-ui.html ``` ### 方式二:本地开发 ```bash # 1. 确保已安装 MySQL,并创建数据库 mysql -u root -p -e "CREATE DATABASE IF NOT EXISTS gstack_demo;" # 2. 确认 application.yml 中的数据库配置正确 # 3. 运行应用 ./mvnw spring-boot:run # 4. 访问 http://localhost:8080/swagger-ui.html ``` ## API 文档 启动后访问 Swagger UI:`http://localhost:8080/swagger-ui.html` ### 主要接口 | 方法 | 路径 | 描述 | |------|------|------| | POST | /api/todos | 创建任务 | | GET | /api/todos | 获取所有任务 | | GET | /api/todos/{id} | 获取单个任务 | | GET | /api/todos/filter?completed=true | 按状态筛选 | | PUT | /api/todos/{id} | 更新任务 | | DELETE | /api/todos/{id} | 删除任务 | ### 创建任务示例 ```bash curl -X POST http://localhost:8080/api/todos \ -H "Content-Type: application/json" \ -d '{ "title": "完成 Phase 1", "description": "实现创建任务功能" }' ``` ## 项目结构 ``` gstack-demo/ ├── src/main/java/com/example/gstackdemo/ │ ├── GstackDemoApplication.java # 应用入口 │ ├── controller/ # REST 控制器 │ │ └── TodoController.java │ ├── entity/ # 数据库实体 │ │ └── Todo.java │ ├── repository/ # 数据访问层 │ │ └── TodoRepository.java │ └── service/ # 业务逻辑层 │ └── TodoService.java ├── src/main/resources/ │ ├── application.yml # 应用配置 │ └── schema.sql # 数据库表结构 ├── docker-compose.yml # Docker 编排 ├── Dockerfile # 应用镜像 ├── pom.xml # Maven 配置 ├── DESIGN.md # 设计文档 ├── DESIGN_LOG.json # 开发日志 └── design-log-viewer.html # 日志可视化工具 ``` ## 开发过程 本项目的开发过程全程记录在 `DESIGN_LOG.json` 中。 用可视化工具查看: 1. 双击打开 `design-log-viewer.html` 2. 或复制 `DESIGN_LOG.json` 的内容到输入框 3. 点击 "Load from Text" ## 分阶段交付 | Phase | 功能 | Git Tag | |-------|------|---------| | Phase 1 | 创建任务 + MySQL + SpringDoc + Docker | v0.1 | | Phase 2 | 增加查询功能 | v0.2 | | Phase 3 | 增加更新/删除功能 | v0.3 | ## 学习路径 1. **Phase 1** — 学习基础:数据库配置、REST API、Swagger 文档 2. **Phase 2** — 学习查询:Repository 查询方法、过滤器 3. **Phase 3** — 学习完整 CRUD:更新、删除、事务 ## 相关资源 - [gstack 官方文档](https://garryslist.org/posts/gstack) - [Spring Boot 官方文档](https://spring.io/projects/spring-boot) - [Swagger/OpenAPI 文档](https://swagger.io/docs/)