# saas-jbp **Repository Path**: dingmax/saas-jbp ## Basic Information - **Project Name**: saas-jbp - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-09 - **Last Updated**: 2026-04-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SaaS系统 - 微内核+插件化架构 > 基于NestJS的多租户SaaS系统,支持插件化扩展 ## 📊 项目状态 - **主框架**: ✅ 已完成 - **后端API**: ✅ 64个接口 - **数据库**: ✅ 18张表 - **测试状态**: ✅ 通过 - **运行状态**: 🟢 正常 --- ## 🎯 项目特点 - ✅ **微内核+插件化** - 灵活扩展,易于维护 - ✅ **多租户隔离** - 自动数据隔离,安全可靠 - ✅ **RBAC权限** - 完整的权限管理体系 - ✅ **JWT认证** - 安全的身份认证 - ✅ **统一响应** - 标准化API格式 - ✅ **TypeScript** - 类型安全,开发高效 --- ## 🚀 快速开始 ### 1. 环境要求 - Node.js 16+ - MySQL 8.0+ - Redis 6.0+(可选) ### 2. 安装依赖 ```bash npm install ``` ### 3. 配置环境变量 复制`.env.example`为`.env`并配置: ```env # 数据库配置 DB_HOST=121.5.14.131 DB_PORT=3306 DB_USERNAME=saasjbp DB_PASSWORD=LS7ssXShpt6XkAd2 DB_DATABASE=saasjbp # JWT配置 JWT_SECRET=your-secret-key JWT_EXPIRES_IN=7d ``` ### 4. 初始化数据库 ```bash node scripts/init-database.js ``` ### 5. 启动项目 ```bash # 开发模式 npm run start:dev # 生产模式 npm run build npm run start:prod ``` 项目将在 `http://localhost:3000` 启动 ### 6. 初始账号 - **用户名**: admin - **密码**: 123456 - **角色**: 超级管理员 --- ## 📁 项目结构 ``` saas-jbp/ ├── database/ # 数据库文件 │ ├── schema.sql # DDL建表语句 │ ├── init-data.sql # 初始化数据 │ └── README.md # 数据库文档 │ ├── scripts/ # 脚本文件 │ ├── init-database.js # 数据库初始化 │ ├── fix-password.js # 密码修复 │ └── test-login.js # 登录测试 │ ├── src/ │ ├── config/ # 配置文件 │ │ │ ├── core/ # 系统内核 │ │ ├── auth/ # 认证模块(全局) │ │ ├── storage/ # 文件存储核心(全局) │ │ ├── payment/ # 支付网关核心(全局) │ │ ├── guards/ # 全局Guard │ │ ├── interceptors/ # 全局拦截器 │ │ ├── filters/ # 全局过滤器 │ │ ├── decorators/ # 装饰器 │ │ └── constants/ # 常量定义 │ │ │ ├── common/ # 公共模块 │ │ ├── entities/ # 基础实体 │ │ └── utils/ # 工具类 │ │ │ ├── modules/ # 业务模块 │ │ ├── sys-platform/ # 总后台模块 │ │ ├── sys-tenant/ # 商户端模块 │ │ ├── sys-user/ # 用户模块 │ │ ├── sys-member/ # 会员模块 │ │ ├── sys-message/ # 消息中心 │ │ └── sys-decoration/ # DIY装修引擎 │ │ │ ├── plugins/ # 应用插件(预留) │ ├── app.module.ts # 主模块 │ └── main.ts # 入口文件 │ ├── API文档.md # API接口文档 ├── 快速启动指南.md # 启动指南 ├── 项目交付文档.md # 交付文档 └── package.json # 依赖配置 ``` --- ## 🎯 核心功能 ### 总后台(28个API) - ✅ 管理员认证 - ✅ 商户管理 - ✅ 应用管理 - ✅ 套餐管理 - ✅ 菜单管理 - ✅ 角色管理 ### 商户端(27个API) - ✅ 员工认证 - ✅ 商户信息管理 - ✅ 员工管理 - ✅ 会员管理 - ✅ 消息发送 - ✅ DIY装修 ### 核心服务 - ✅ 文件存储 - ✅ 消息中心 - ✅ 支付网关 --- ## 🔧 技术栈 ### 后端 - **框架**: NestJS 10.x - **语言**: TypeScript 5.x - **ORM**: TypeORM 0.3.x - **数据库**: MySQL 8.0+ - **缓存**: Redis 6.0+ - **认证**: JWT + bcrypt ### 工具 - **包管理**: npm - **构建**: Webpack - **代码规范**: ESLint + Prettier --- ## 📚 文档 - [API文档](./API文档.md) - 完整的API接口文档 - [快速启动指南](./快速启动指南.md) - 详细的启动步骤 - [数据库文档](./database/README.md) - 数据库设计说明 - [项目交付文档](./项目交付文档.md) - 项目交付说明 - [开发进度跟踪](./开发进度跟踪.md) - 开发进度记录 --- ## 🧪 测试 ### 健康检查 ```bash curl http://localhost:3000/api/health ``` ### 管理员登录 ```bash curl -X POST http://localhost:3000/api/platform/auth/login \ -H "Content-Type: application/json" \ -d '{"username":"admin","password":"123456"}' ``` --- ## 📝 开发命令 ```bash # 开发模式(热重载) npm run start:dev # 构建 npm run build # 生产模式 npm run start:prod # 格式化代码 npm run format # Lint检查 npm run lint ``` --- ## 🎊 项目成果 - ✅ **71个文件** - ✅ **64个API接口** - ✅ **18张数据表** - ✅ **完整的RBAC权限体系** - ✅ **多租户数据隔离** - ✅ **编译测试通过** --- ## 🚧 待开发功能 ### 应用插件(已延后) - ⏸️ 商城插件 - ⏸️ 预约插件 - ⏸️ 打卡插件 - ⏸️ 查询插件 - ⏸️ 营销插件 ### 前端开发 - ⏸️ 总后台PC端(Vue 3 + Ant Design Vue) - ⏸️ 商户端PC端(Vue 3 + Ant Design Vue) - ⏸️ 用户端小程序(Uni-app + Vue 3) --- ## 📞 技术支持 如有问题,请查看: 1. [快速启动指南](./快速启动指南.md) 2. [API文档](./API文档.md) 3. [项目交付文档](./项目交付文档.md) --- ## 📄 许可证 MIT License --- **开发时间**: 2026-01-18 ~ 2026-01-19 **开发耗时**: 约42分钟 **项目状态**: ✅ 主框架完成,系统运行正常