Skip to main content

FastAPI + Vue3 全栈项目脚手架

Project description

FastVue CLI

FastAPI + Vue3 全栈项目脚手架,用于快速生成完整的后台管理系统项目。

功能特性

  • 🚀 快速生成完整的 FastAPI + Vue3 项目结构
  • 📦 支持模块化生成(自动创建模型、API、前端页面)
  • 🎨 基于 Element Plus 的现代化 UI 设计
  • 🔐 内置 JWT 认证和权限管理
  • 📊 支持数据库自动初始化
  • ⚡ 支持热重载和开发调试
  • 🌍 支持中文/英文双语
  • 💾 完整的后台管理系统(用户管理、角色管理、菜单管理、日志管理等)

安装

方法一: 使用 uv (推荐)

# 从源码安装
cd fastvue-cli
uv sync
uv pip install -e .

# 或者从构建的包安装
uv build
uv pip install dist/fastvue_cli-0.1.0-py3-none-any.whl

方法二: 使用 pip 直接安装

cd fastvue-cli
pip install -e .

方法三: 从构建的包安装

cd fastvue-cli
# 使用 uv 构建
uv build
# 安装构建好的包
pip install dist/fastvue_cli-0.1.0-py3-none-any.whl

快速开始

1. 创建新项目

# 交互式创建
fastvue init

# 或者直接指定参数
fastvue init my-project --db-type mysql --auth-type jwt --language zh-CN

2. 进入项目目录并配置环境

cd my-project/backend
# 复制.env.example为.env并配置数据库连接
cp .env.example .env
# 编辑.env文件,配置数据库连接信息

3. 安装依赖并启动服务

# 安装后端依赖
cd backend
pip install -r requirements.txt
# 或使用 uv (推荐)
uv sync

# 运行后端服务
python -m app.main

# 安装前端依赖(新开一个终端)
cd frontend
npm install

# 运行前端服务
npm run dev

生成的项目功能

生成的项目包含完整的后台管理系统:

后端功能

  • ✅ 用户认证(登录/注册/登出)
  • ✅ JWT Token管理
  • ✅ 用户管理(CRUD)
  • ✅ 角色管理(admin/member/user)
  • ✅ 菜单管理(动态菜单)
  • ✅ 权限控制(RBAC)
  • ✅ 操作日志
  • ✅ Token黑名单
  • ✅ 邮箱验证
  • ✅ 仪表盘统计

前端功能

  • ✅ 登录/注册页面
  • ✅ 用户管理界面
  • ✅ 角色管理界面
  • ✅ 菜单管理界面
  • ✅ 操作日志查询
  • ✅ 个人中心
  • ✅ 主题切换(4种主题)
  • ✅ 动态路由
  • ✅ 权限控制

命令说明

初始化项目

fastvue init [项目名称]

选项:

  • --db-type: 数据库类型(mysql/postgresql,默认mysql)
  • --auth-type: 认证方式(jwt,默认jwt)
  • --language: 语言(zh-CN/en-US,默认zh-CN)
  • --install-deps: 自动安装依赖(默认false)

生成功能模块

fastvue generate <模块名称>

示例:

# 生成用户模块
fastvue generate user

# 生成商品模块
fastvue generate product

项目结构

my-project/
├── backend/             # FastAPI 后端
│   ├── app/
│   │   ├── api/        # API 路由
│   │   │   └── v1/     # V1版本API
│   │   │       ├── auth/           # 认证模块
│   │   │       ├── user/           # 用户管理
│   │   │       ├── permission/     # 权限管理
│   │   │       ├── log/            # 日志模块
│   │   │       ├── security/       # 安全模块
│   │   │       └── dashboard/      # 仪表盘
│   │   ├── core/       # 核心配置
│   │   │   ├── config.py          # 配置文件
│   │   │   ├── database.py        # 数据库连接
│   │   │   ├── jwt.py             # JWT处理
│   │   │   ├── permissions.py     # 权限控制
│   │   │   ├── cors.py            # CORS配置
│   │   │   ├── middleware.py      # 中间件
│   │   │   ├── logging.py         # 日志配置
│   │   │   └── email.py           # 邮件服务
│   │   ├── models/     # 数据库模型
│   │   ├── schemas/    # 数据验证
│   │   ├── services/   # 业务逻辑
│   │   ├── main.py     # 应用入口
│   │   └── init_db.py  # 数据库初始化
│   ├── .env.example    # 环境变量示例
│   └── pyproject.toml  # 项目配置
├── frontend/            # Vue3 前端
│   ├── src/
│   │   ├── components/ # Vue 组件
│   │   ├── views/      # 页面组件
│   │   ├── api/        # API 调用
│   │   ├── router/     # 路由配置
│   │   ├── stores/     # 状态管理
│   │   └── utils/      # 工具函数
│   ├── package.json
│   ├── vite.config.js
│   └── index.html
└── README.md

技术栈

后端

  • FastAPI: 现代化的 Python Web 框架
  • SQLAlchemy: ORM 数据库工具
  • Pydantic: 数据验证和序列化
  • JWT: 身份认证
  • Python-Jose: JWT令牌处理
  • Passlib: 密码加密
  • PyMySQL: MySQL数据库驱动
  • Uvicorn: ASGI服务器

前端

  • Vue 3: 渐进式 JavaScript 框架
  • Element Plus: Vue 3 UI 组件库
  • Pinia: 状态管理
  • Vue Router: 路由管理
  • Axios: HTTP 客户端
  • Vite: 极速构建工具

开发说明

  • 所有注释均为中文
  • 代码遵循PEP 8规范(Python)和ESLint规范(JavaScript)
  • 完整的错误处理和日志记录

许可证

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fastvue_cli-0.1.0.tar.gz (141.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fastvue_cli-0.1.0-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

Details for the file fastvue_cli-0.1.0.tar.gz.

File metadata

  • Download URL: fastvue_cli-0.1.0.tar.gz
  • Upload date:
  • Size: 141.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.7

File hashes

Hashes for fastvue_cli-0.1.0.tar.gz
Algorithm Hash digest
SHA256 684a4165b669337aa54f4e5d2e8569e38ef9a79246424122f75f0d7c8c4989bb
MD5 3d45e324e059cae0d35f6b8aa83595c8
BLAKE2b-256 6321300c36df8137b271f9255ca3977303eb029b7bb28aee1166b1af301eb75b

See more details on using hashes here.

File details

Details for the file fastvue_cli-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for fastvue_cli-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0151fd6c95d146cc2d8d6b9079821fa1a485acaa43cec89c30ae1d2275876eb3
MD5 8878bbab9a6e80bf14bcdecea63d9a9a
BLAKE2b-256 23a79dfa17551321eb3613444d9d0166f337cc32ac22fafe2d5e8e2aba744bbc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page