agnaldo4j/kanban-vision-api-kt

GitHub: agnaldo4j/kanban-vision-api-kt

基于 Kotlin 和 Ktor 构建的看板工作流模拟 REST API,以严格的六边形架构和全方位质量门禁(覆盖率、变异测试、架构适应度函数)为核心特色。

Stars: 1 | Forks: 0

[![CI](https://static.pigsec.cn/wp-content/uploads/repos/cas/ad/ad5834178f7599af9fdda11629d49cae07f2997beec49821b2920eff5bfd50e7.svg)](https://github.com/agnaldo4j/kanban-vision-api-kt/actions/workflows/ci.yml) [![codecov](https://codecov.io/gh/agnaldo4j/kanban-vision-api-kt/graph/badge.svg)](https://codecov.io/gh/agnaldo4j/kanban-vision-api-kt) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Last Commit](https://img.shields.io/github/last-commit/agnaldo4j/kanban-vision-api-kt)](https://github.com/agnaldo4j/kanban-vision-api-kt/commits/main) [![Kotlin](https://img.shields.io/badge/kotlin-2.4.0-7F52FF?logo=kotlin&logoColor=white)](https://kotlinlang.org/) [![Ktor](https://img.shields.io/badge/ktor-3.5.1-087CFA?logo=ktor&logoColor=white)](https://ktor.io/) [![Gradle](https://img.shields.io/badge/gradle-9.6.1-02303A?logo=gradle&logoColor=white)](https://gradle.org/) [![Java](https://img.shields.io/badge/java-25%20LTS-ED8B00?logo=openjdk&logoColor=white)](https://adoptium.net/) [![Arrow](https://img.shields.io/badge/arrow--kt-2.2.3-E91E63)](https://arrow-kt.io/) [![Koin](https://img.shields.io/badge/koin-4.2.2-F88900)](https://insert-koin.io/) [![Kotest Property](https://img.shields.io/badge/kotest-property--based%20testing-2D5BE3)](https://kotest.io/docs/proptest/property-based-testing.html) [![PITest](https://img.shields.io/badge/pitest-mutation%20testing-CC0000)](https://pitest.org/) [![Detekt](https://img.shields.io/badge/detekt-2.0.0--alpha.5-9146FF)](https://detekt.dev/) [![Konsist](https://img.shields.io/badge/konsist-architecture%20fitness-4B9E4B)](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Architecture-Fitness-Functions) [![SBOM](https://img.shields.io/badge/SBOM-CycloneDX-FF6D00)](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Security-Supply-Chain) [![SCA](https://img.shields.io/badge/SCA-osv--scanner-4285F4)](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Security-Supply-Chain) [![k6](https://img.shields.io/badge/k6-load%20testing-7D64FF)](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Performance-Load-Testing) [![OpenTelemetry](https://img.shields.io/badge/opentelemetry-1.63.0-425CC7?logo=opentelemetry&logoColor=white)](https://opentelemetry.io/) [![Kubernetes](https://img.shields.io/badge/kubernetes-manifests-326CE5?logo=kubernetes&logoColor=white)](k8s/) [![Docker](https://img.shields.io/badge/docker-ghcr.io-2496ED?logo=docker&logoColor=white)](https://github.com/agnaldo4j/kanban-vision-api-kt/pkgs/container/kanban-vision-api-kt) # Kanban Vision API ## 功能 - **看板模拟** — 对看板、步骤和卡片进行建模;进行每日流程模拟 - **组织级隔离** — 各个组织的看板和场景相互隔离 - **整洁架构** — 纯领域层,端口和适配器,严格的依赖规则 - **函数式错误处理** — 全面使用 Arrow-kt 实现 `Either` - **生产就绪** — JWT 认证、限流、Prometheus 指标、Grafana 面板、OTel 追踪 - **质量门禁** — 在每个 PR 上强制执行 Detekt + KtLint + JaCoCo ≥ 97% + PITest 变异测试 + Konsist 架构适应度函数 - **供应链安全** — CycloneDX SBOM + osv-scanner CVE 门禁会在每次镜像构建时进行拦截 - **基于属性的测试** — Kotest 生成器使用随机输入验证领域不变量 ## 快速开始 ``` # Clone git clone https://github.com/agnaldo4j/kanban-vision-api-kt.git cd kanban-vision-api-kt # 运行 full stack (API + PostgreSQL + Prometheus + Grafana) GRAFANA_ADMIN_PASSWORD=admin docker compose up --build # Dev mode — 启用 POST /auth/token 以进行本地 JWT 生成 JWT_DEV_MODE=true GRAFANA_ADMIN_PASSWORD=admin docker compose up --build ``` | 服务 | URL | |---|---| | API | http://localhost:8080 | | Swagger UI | http://localhost:8080/swagger | | Prometheus | http://localhost:9090 | | Grafana | http://localhost:3000 | ## 文档 | 页面 | 描述 | |---|---| | [架构](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Architecture) | 六边形架构、C4 图、类图(modules/domain)以及时序图 | | [开发指南](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Development-Guide) | 本地设置、测试、质量门禁、故障排除 | | [API 参考](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/API-Reference) | Endpoint、JWT 认证、OpenAPI | | [可观测性](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Observability) | Prometheus、Grafana 面板、OTel Agent、结构化日志 | | [运维](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Operations) | Docker、Kubernetes 清单、CI/CD、环境变量 | | [质量分析](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Quality-Analysis) | 18 项技能评分卡(9.4/10)、差距路线图 | | [安全供应链](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Security-Supply-Chain) | CycloneDX SBOM、osv-scanner CVE 门禁、例外策略、red-gate 演练手册 | | [架构适应度函数](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Architecture-Fitness-Functions) | 在 CI 中强制执行六边形架构的 Konsist 规则 | | [性能负载测试](https://github.com/agnaldo4j/kanban-vision-api-kt/wiki/Performance-Load-Testing) | k6 旅程、配置文件、p95 基线(1,644 req/s)以及手动工作流 | ## 许可证 MIT — 请参阅 [LICENSE](LICENSE)。
标签:DevSecOps, Kotlin, RESTful API, 上游代理, 六边形架构, 后台面板检测, 子域名突变, 提示词优化, 测试用例, 用户代理, 看板系统, 自定义请求头, 请求拦截, 软件供应链安全, 远程方法调用