Skip to content

937bb/apiManagement

Repository files navigation

🚀 937bb API 管理系统

NestJS TypeScript MySQL JWT Node.js

👥 项目团队

作者

  • 937bb - 项目创建者 & 主要开发者
    GitHub
    Email

贡献者

欢迎贡献者加入!成为第一个贡献者吧!

Contributors

🔗 关联项目

📋 项目简介

937bb API 管理系统是一个基于 NestJS 框架开发的高性能、可扩展的 API 服务。系统提供了用户认证、权限管理、API 统计分析等功能,采用模块化架构设计,便于维护和扩展。

✨ 功能特性

  • 用户认证:基于 JWT 的身份验证系统
  • 权限控制:基于角色的访问控制 (RBAC)
  • API 统计:详细的 API 调用统计和分析
  • 邮件服务:集成邮件发送功能
  • 请求限流:防止 API 滥用
  • 日志记录:完整的系统日志记录
  • 环境配置:支持多环境配置

🛠️ 技术栈

  • 核心框架:NestJS 11
  • 编程语言:TypeScript 5.7
  • 数据库:MySQL
  • ORM:TypeORM
  • 身份验证:JWT + Passport
  • API 文档:Swagger (待集成)
  • 代码风格:ESLint + Prettier

📁 项目结构

937bb-api/
├── src/
│   ├── common/               # 公共模块
│   ├── entity/               # 数据库实体
│   │   ├── user.entity.ts    # 用户实体
│   │   ├── apiGroup.entity.ts
│   │   └── ...
│   ├── middleware/           # 中间件
│   ├── router/               # 路由模块
│   │   ├── auth/             # 认证相关
│   │   ├── public/           # 公开接口
│   │   ├── statistics/       # 统计相关
│   │   └── web/              # Web 接口
│   └── utils/                # 工具函数
├── test/                     # 测试文件
├── .env.development          # 开发环境变量
├── .env.production           # 生产环境变量
├── package.json              # 项目依赖
└── tsconfig.json             # TypeScript 配置

🚀 快速开始

环境要求

  • Node.js >= 16.0.0
  • MySQL >= 5.7
  • pnpm (推荐) 或 npm / yarn

安装依赖

# 使用 pnpm (推荐)
pnpm install

# 或使用 npm
npm install

# 或使用 yarn
yarn install

配置环境变量

复制示例环境文件并配置您的设置:

# 开发环境
cp .env.development .env

# 生产环境
# cp .env.production .env

编辑 .env 文件,配置您的数据库连接等信息。

数据库迁移

  1. 创建数据库:

    CREATE DATABASE `937bb_api` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci';
  2. 同步数据库结构:

    # 开发环境会自动同步数据库结构
    pnpm run start:dev

运行项目

# 开发模式
pnpm run start:dev

# 生产模式
pnpm run build
pnpm run start:prod

API 文档

项目启动后,访问以下地址查看 API 文档:

http://localhost:3007/api/docs

注意:需要先集成 Swagger 文档

🔧 开发指南

代码规范

  • 使用 ESLint + Prettier 统一代码风格
  • 提交信息遵循 Conventional Commits 规范
  • 使用 TypeScript 强类型

分支管理

  • main - 主分支,用于生产环境部署
  • develop - 开发分支,用于集成开发
  • feature/* - 新功能开发分支
  • bugfix/* - 问题修复分支
  • release/* - 发布分支

🤝 贡献指南

欢迎提交 Issue 和 Pull Request。在提交代码前,请确保:

  1. Fork 项目到您的账户
  2. 创建特性分支 (git checkout -b feature/amazing-feature)
  3. 提交更改 (git commit -m 'Add some amazing feature')
  4. 推送到分支 (git push origin feature/amazing-feature)
  5. 打开 Pull Request

📄 开源协议

本项目采用 MIT 开源协议。


使用 ❤️ 构建 | 937bb API 管理系统 © 2025

About

公益API仓库

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors