开源项目 后端脚手架 2024

NestKit

一个"开箱即用"的 NestJS 启动模板。鉴权、限流、日志、错误处理这些每个项目都要重复写的东西, 提前帮你配好了。

450+
GitHub Star
30+
fork 并二次开发
5 分钟
从克隆到跑起来
MIT
开源协议

为什么做这个

每次开新项目,前面两三天总是在重复写同样的东西:JWT 鉴权、请求限流、统一的错误响应格式、日志记录……写多了之后觉得这部分完全可以模板化。

NestKit 就是把这些"项目地基"提前搭好,新项目克隆下来改改业务代码就能跑。

内置了什么

  • JWT 鉴权 — 登录、刷新 Token、权限守卫,开箱即用
  • 请求限流 — 基于 Redis 的滑动窗口限流中间件
  • 统一响应格式 — 拦截器统一处理成功/错误响应结构
  • 结构化日志 — 集成 Pino,请求链路可追踪
  • 环境配置管理 — 基于 Zod 的环境变量校验,配置错误启动时直接报错
  • Docker 一键部署 — 内置 Dockerfile 和 docker-compose

怎么搭的

基于 NestJS + TypeScript,数据库用 Prisma 作为 ORM,缓存和限流用 Redis,配置校验用 Zod,日志用 Pino。所有模块都设计成可插拔,不需要的部分删掉对应模块即可。

NestJS TypeScript Prisma Redis Zod Pino Docker

项目结构与文档

"团队内部新项目现在都是从这个模板起步的,省去了很多重复的工程搭建工作。" —— GitHub Issue 留言

做完之后想到的

开源项目和商业项目最大的不同是:文档比代码更重要。一开始我把大部分精力花在功能实现上,文档写得很简略,结果收到的 issue 大多是"这个怎么用"。后来重写了文档,issue 数量明显下降。

这也提醒我:好的开发者体验(DX)本身就是一种产品功能。

下一个作品
WordDuck — AI 辅助英语词汇记忆工具