这个项目能做什么

该仓库提供了一个生产级别的 TypeScript 后端样板,旨在通过处理基础设施设置和强制执行架构纪律来加速开发。基于 Fastify、Awilix、Prisma 和 BullMQ 构建,它将代码组织成严格的清洁架构层(领域、应用、基础设施、表现、组合根),依赖关系指向内部。关键的是,这些层边界由 dependency-cruiser 在 CI 中自动强制执行,防止架构漂移。 主要功能包括: - **HTTP 和 API**:Fastify 5,带有 Zod 验证、版本化端点、Swagger UI 和统一的错误处理。 - **身份验证和安全**:Argon2 哈希、JWT 访问/刷新令牌、电子邮件验证、密码重置,以及用于 RBAC 的编译时权限目录。 - **持久化**:Prisma 与 MariaDB,实现工作单元模式进行事务处理。 - **作业和事件**:事务性出箱模式、基于 Redis 的 BullMQ 队列,以及一个专用工作进程。 - **可观测性**:集成了带有相关 ID 的 Pino 日志、Prometheus 指标、OpenTelemetry 追踪,以及一个预配置的 Grafana/Loki/Tempo 堆栈。 - **质量**:领域/应用层的 100% 覆盖率要求、ESLint/Prettier,以及用于集成测试的 Testcontainers。 该项目附带一个可执行的用户/身份验证/RBAC 垂直切片,作为添加新功能的参考。它支持通过单个 `APP_NAME` 环境变量轻松重命名,并包含用于本地开发的全面 Docker Compose 配置。