# order-admin-backend **Repository Path**: erdongmuxin/order-admin ## Basic Information - **Project Name**: order-admin-backend - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-12-06 - **Last Updated**: 2025-12-13 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # FastAPI Admin - 基于RBAC模型的权限管理系统 [![Python Version](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/downloads/) [![FastAPI](https://img.shields.io/badge/FastAPI-0.116.1-009688.svg?logo=fastapi)](https://fastapi.tiangolo.com/) [![License](https://img.shields.io/github/license/tiangolo/fastapi)](https://github.com/tiangolo/fastapi/blob/master/LICENSE) FastAPI Admin 是一个基于 [FastAPI](https://fastapi.tiangolo.com/) 框架开发的企业级权限管理系统,采用 RBAC(Role-Based Access Control)模型设计,具备完整的用户管理、角色权限控制和 API 访问控制功能。 ## 特性 - **现代化技术栈**:基于 FastAPI 构建,充分利用其异步特性和类型提示优势 - **RBAC 权限模型**:支持用户-角色-权限的多对多关系管理 - **JWT 认证机制**:基于 JWT Token 的用户身份认证和授权 - **自动文档生成**:自动生成交互式 API 文档(Swagger UI 和 ReDoc) - **类型安全**:全面使用 Python 类型提示,提高代码质量和开发体验 - **模块化架构**:清晰的模块划分,便于维护和扩展 - **日志系统**:完善的日志记录和管理机制 - **容器化部署**:支持 Docker 容器化部署 ## 技术架构 - **框架**:[FastAPI](https://fastapi.tiangolo.com/) - **ORM**:[SQLModel](https://sqlmodel.tiangolo.com/) (基于 SQLAlchemy 和 Pydantic) - **数据库**:SQLite (默认) / 支持 PostgreSQL、MySQL 等 - **认证**:JWT (JSON Web Tokens) - **密码安全**:bcrypt 加密算法 - **日志**:[Loguru](https://github.com/Delgan/loguru) - **包管理**:[uv](https://github.com/astral-sh/uv) (超快的 Python 包管理器) - **部署**:Docker 容器化部署 ## 快速开始 ### 环境要求 - Python 3.10+ - uv 包管理器 ### 安装 1. 克隆项目: ```bash git clone [项目仓库地址] cd fastapi-admin ``` 2. 安装 uv 包管理器(如果尚未安装): ```bash # 从官网直接下载安装(推荐) # 访问 https://docs.astral.sh/uv/ 获取安装说明 # 或者使用 pip 安装 pip install uv ``` 3. 安装项目依赖: ```bash uv sync ``` ### 运行 启动开发服务器: ```bash uv run uvicorn app.main:app --reload ``` 访问 API 文档: - Swagger UI: http://127.0.0.1:8000/docs - ReDoc: http://127.0.0.1:8000/redoc ## 项目结构 ``` fastapi-admin/ ├── app/ # 应用核心代码 │ ├── auth/ # 认证模块 │ │ ├── cruds/ # 数据访问层 │ │ ├── models/ # 数据模型 │ │ └── services/ # 业务逻辑层 │ ├── core/ # 核心配置和处理模块 │ │ ├── dependencies/ # 依赖注入 │ │ ├── handlers/ # 处理器 │ │ └── middlewares/ # 中间件 │ ├── user/ # 用户管理模块 │ │ ├── cruds/ │ │ ├── models/ │ │ └── services/ │ ├── puzzle/ # 示例功能模块 │ └── main.py # 应用入口 ├── alembic/ # 数据库迁移文件 ├── scripts/ # 脚本文件 ├── logs/ # 日志目录 ├── sqlite.db # 默认 SQLite 数据库 ├── Dockerfile # Docker 配置文件 ├── alembic.ini # 数据库迁移配置 ├── pyproject.toml # 项目配置文件 └── README.md # 项目说明文档 ``` ## 部署 ### 使用 Docker 部署 构建 Docker 镜像: ```bash docker build -t fastapi-admin . ``` 运行容器: ```bash docker run -d -p 8000:8000 fastapi-admin ``` ### 生产环境部署 使用提供的构建脚本: ```bash ./scripts/build.sh ``` ## 开发指南 ### 代码质量检查 运行代码检查和格式化: ```bash ./scripts/check.sh ``` ### 数据库迁移 初始化数据库迁移: ```bash alembic revision --autogenerate -m "init" ``` 应用数据库迁移: ```bash alembic upgrade head ``` ## 许可证 本项目采用 MIT 许可证。详情请见 [LICENSE](LICENSE) 文件。 ## 学习资源 - [FastAPI 官方文档](https://fastapi.tiangolo.com/) - [SQLModel 官方文档](https://sqlmodel.tiangolo.com/) - [uv 官方文档](https://docs.astral.sh/uv/)