跳转至

FastAPI Backend Template

  • 开箱即用


    企业级FastAPI后端模板,内置三层架构设计,提供完整的RBAC权限管理系统

    快速开始

  • 用户管理


    完整的用户管理系统,支持用户注册、登录、权限控制等功能

    用户管理

  • 权限控制


    基于角色的访问控制(RBAC),支持细粒度的权限管理

    权限系统

  • 数据库


    基于Tortoise ORM,支持PostgreSQL和SQLite,包含完整的迁移系统

    数据库设计

项目特性

🏗️ 架构设计

  • 三层架构: API → Service → Repository → Model
  • 依赖注入: 基于FastAPI的依赖系统
  • 异步支持: 全异步设计,支持高并发
  • 类型安全: 完整的Python类型标注

🔐 安全特性

  • JWT认证: 访问令牌(4小时) + 刷新令牌(7天)
  • RBAC权限: 基于角色的访问控制
  • 密码安全: Argon2哈希算法
  • 限流保护: 登录频率限制

📁 核心功能

  • 用户管理: 用户CRUD、密码重置、状态管理
  • 角色管理: 角色分配、权限绑定
  • 菜单管理: 动态菜单配置
  • 文件管理: 安全的文件上传下载
  • 审计日志: 完整的操作记录
  • 部门管理: 组织架构管理

🛠️ 开发工具

  • UV包管理: 快速的Python包管理器
  • 代码规范: Black + Ruff + MyPy
  • 测试覆盖: Pytest + 异步测试
  • 数据库迁移: Aerich迁移工具
  • API文档: 自动生成OpenAPI文档

技术栈

  • FastAPI: 现代、高性能的Web框架
  • Tortoise ORM: 异步ORM框架
  • Pydantic: 数据验证和设置管理
  • JWT: JSON Web Token认证
  • PostgreSQL: 生产环境推荐
  • SQLite: 开发环境默认
  • Redis: 缓存和会话存储
  • Aerich: 数据库迁移工具
  • UV: Python包管理器
  • Black: 代码格式化
  • Ruff: 代码检查
  • MyPy: 类型检查
  • Pytest: 测试框架
  • Docker: 容器化部署
  • GitHub Actions: CI/CD自动化
  • Uvicorn: ASGI服务器
  • Nginx: 反向代理

快速开始

# 克隆项目
git clone https://github.com/JiayuXu0/FastAPI-Template.git
cd FastAPI-Template

# 安装依赖
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync

# 初始化数据库
uv run aerich init-db

# 启动开发服务器
uv run uvicorn src:app --reload --host 0.0.0.0 --port 8000

访问 http://localhost:8000/docs 查看交互式API文档。

文档导航

贡献指南

欢迎参与项目建设!请参考以下步骤:

  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 许可证。详情请参阅 LICENSE 文件。

联系我们


由 EvoAI Team 用 ❤️ 制作