Skip to content

Latest commit

 

History

History
103 lines (77 loc) · 2.11 KB

File metadata and controls

103 lines (77 loc) · 2.11 KB

node-admin

面向后台管理系统的企业级 NestJS API 服务。

功能特性

  • 基于 TypeScript 的 NestJS 11 项目
  • 环境变量配置与启动校验
  • 全局 API 前缀与 URI 版本管理
  • 全局请求参数校验
  • 统一成功响应与错误响应格式
  • 全局异常过滤器
  • 请求日志拦截器
  • 安全响应头、CORS、响应压缩与接口限流
  • Swagger UI、Knife4j 风格文档与 OpenAPI JSON
  • 服务健康检查接口
  • 分页 DTO 与通用响应类型
  • MySQL 用户、角色、权限表
  • admin 超级管理员账号拥有全部权限
  • 对应自己修改的vben 后台

项目结构

src
  main.ts        应用启动入口
  bootstrap      应用启动与接口文档配置
  common         通用 DTO、接口类型与工具函数
  config         环境变量配置与校验
  core           全局过滤器、拦截器、管道与守卫
  database       MySQL 连接池与数据库访问服务
  modules        业务功能模块
    app          应用根模块与状态接口
    health       服务健康检查模块
    admin        管理后台业务接口
database
  init.sql       数据库建表与初始化数据脚本

安装依赖

pnpm install

从示例文件创建本地环境变量文件:

cp .env.example .env

启动项目

pnpm run start:dev

默认访问地址:

  • API:http://localhost:3000/api/v1
  • 健康检查:http://localhost:3000/api/v1/health
  • Swagger UI:http://localhost:3000/docs
  • Knife4j 风格文档:http://localhost:3000/doc.html

如果本机 3000 端口被占用,可以在 .env 里设置:

APP_PORT=3001

初始化脚本:

mysql -h 192.168.137.10 -P 3306 -u root -p < database/init.sql

初始化账号:

  • 用户名:admin
  • 密码:123456
  • 角色:SUPER_ADMIN
  • 权限:拥有 permissions 表内全部权限

质量检查

pnpm run typecheck
pnpm run lint:check
pnpm test
pnpm run test:e2e
pnpm run build

也可以直接运行完整检查:

pnpm run check

环境变量

支持的环境变量请查看 .env.example