一个NestJS起始模板,正在优化中。
- Swagger接口文档
- 邮件发送功能(SMTP)
- 统一参数校验
- 统一异常拦截
- 统一响应结构
- 统一参数序列化
- 数据库功能(支持多配置)
- 数据库分页/条件/全部查询
- 静态页面
- 文件上传
- 文件下载
- Redis或内存缓存
- 日志输出到控制台/文件
- 统一配置/环境变量服务(类型安全且带默认值)
- 模块/控制器/服务基类
- 模板快速生成(业务型模板,非NestJS脚手架的模板)
- 用户模块
- 登陆模块
- 角色模块
- 权限模块
- 上传模块
- 文章模块
目前基于 Gitea 和 Gitea Actions 实现,大致流程是这样的:提交代码到 Gitea 仓库后,触发流水线任务进行构建并打包成 Docker 镜像,推送到 Gitea 自带的软件包仓库,然后登陆生产服务器执行更新命令。
使用 Github Actions 也是可以的,两者使用上是兼容的。本仓库有关部署的内容涉及三个地方,不需要的话可自行删除,如下:
- Dockerfile 构建镜像的配置文件
- .dockerignore 配置哪些文件应该被忽略掉
- .gitea/workflows/depoy.yaml 流水线任务的配置文件,语法上与 Github Actions 一致
- 双token无感刷新
- session/cookie,jwt,sso单点登陆
- 大文件上传,断点续传
- createUserDto与User分开
- 涉及关系时,先用 service 查出有效关系,避免存储不存在的关联ID
如果你在使用过程中遇到问题,欢迎在 Issue 中提问。