Files
FastapiAdmin/README.en.md
T
zhangtao 9d426b2e4c feat: 新增配置中心功能并优化系统配置管理
refactor: 重构配置管理相关代码,包括模型、参数和CRUD操作
docs: 更新README文档中的图片引用
style: 统一前端表格样式和布局,优化暗色模式背景色
fix: 修复日志记录中用户信息泄露问题
perf: 优化前端路由和组件性能
chore: 更新依赖和脚本文件
```

这个提交消息涵盖了以下主要变更:
1. 新增了配置中心功能模块
2. 重构了后端配置管理相关代码
3. 更新了文档中的图片引用
4. 统一了前端表格样式
5. 修复了安全相关问题
6. 优化了前端性能
7. 更新了项目依赖

消息遵循了约定的提交格式,每个类型都准确地描述了变更的性质,并保持了简洁性。
2025-06-02 22:35:45 +08:00

15 KiB
Raw Blame History

Gitee Stars GitHub Stars License

📊 GitHub Data Statistics (Author: @1014TaoTao)

Activity Graph


English | Chinese


📘 Project Introduction

Fastapi-Vue3-Admin is a fully open-source, highly modular, and technologically advanced modern rapid development platform, designed to help developers efficiently build high-quality enterprise-level middle and back-office systems. This project adopts a front-end and back-end decoupled architecture, integrating the Python backend framework FastAPI and the mainstream frontend framework Vue3, combined with UniApp to achieve unified multi-terminal development, providing an all-in-one, out-of-the-box development experience.

Design Philosophy: Centered around modularity and loose coupling, it aims to offer rich functional modules, simple and easy-to-use interfaces, comprehensive development documentation, and convenient maintenance methods. By leveraging a unified framework and components, it reduces technology selection costs, follows development specifications and design patterns, builds a robust code layering model, and is equipped with comprehensive localized Chinese support—specifically tailored for team and enterprise development scenarios.

fastapi_vue3_admin
├─ backend        # Backend project
├─ frontend       # Frontend project
├─ devops         # Deployment project
├─ uni-app        # Mobile application project
├─ docker-compose.yaml # Deployment configuration file
├─ start.sh       # One-click deployment script
├─ LICENSE        # License agreement
├─ README.en.md   # English documentation
└─ README.md      # Chinese documentation

Core Highlights

Feature Description
🔭 Rapid Development A fully open-source modern rapid development platform designed to help developers efficiently build high-quality middle and back-office systems.
🌐 Full-Stack Integration Frontend and backend decoupled architecture, integrating Python (FastAPI), Vue3, and UniApp for multi-terminal development.
🧱 Modular Design Highly decoupled system functions, easy to extend and maintain.
High-Performance Asynchronous Optimized interface response speed using the FastAPI asynchronous framework and Redis caching.
🔒 Secure Authentication Supports JWT OAuth2 authentication mechanisms to ensure system security.
📊 Permission Management Implements fine-grained permission control at the menu, button, and data levels using the RBAC model.
🚀 Quick Deployment Supports one-click deployment with Docker, Docker Compose, and Nginx.
📄 Developer-Friendly Provides comprehensive Chinese documentation, localized interface, and visual toolchains to reduce learning costs.
📫 Cross-Platform Support Supports multi-terminal development via UniApp, including H5 and mini-programs.
🚀 Easy Integration Ready-to-use with mainstream frontend technology stacks such as Vue3, Vite5, Pinia, UniApp, Ant Design Vue, and uView-plus.

🛠️ Technology Stack Overview

Type Technology Selection Description
Backend Framework FastAPI / Uvicorn / Pydantic 2.0 / Alembic Modern, high-performance asynchronous framework with strict type constraints and data migration support.
ORM SQLAlchemy 2.0 Powerful ORM library.
Task Scheduling APScheduler Easily implement scheduled tasks.
Authentication PyJWT Implements JWT-based authentication.
Frontend Framework Vue3 / Vite5 / Pinia / TypeScript Rapid development of Vue3 applications.
UI Library Ant Design Vue / uView-plus Quickly build visually appealing UI components.
Mobile Development UniApp Rapid mobile application development.
Database MySQL / MongoDB Powerful database systems.
Caching Redis High-performance caching database.
Documentation Swagger / Redoc Automatically generates API documentation.
Deployment Docker / Nginx / Docker Compose Rapid project deployment.

📌 Built-in Modules

Module Name Submodules Description
Dashboard Workspace, Analytics Page Common functional entry points
System Management Menus, Departments, Positions, Roles, Users, Logs, Configurations, Announcements, Dictionaries, Tasks Core system functionality
Monitoring Management Online Users, Server Monitoring, Cache Monitoring System monitoring and management features
Public Management API Management, Documentation Management Project API documentation management
App Module Home Page, Workspace, Personal Center Mobile application management

🍪 Demo Environment


👷 Installation and Usage

Version Details

Type Technology Stack Version
Backend Python 3.10 (Versions above 3.10 may cause compatibility issues; upgrade is not planned for now)
Backend FastAPI 0.109
Frontend Node.js >= 20.0 (latest version recommended)
Frontend npm 16.14
Frontend Vue3 3.3
Database MySQL 8.0 (latest version recommended)
Middleware Redis 7.0 (latest version recommended)
MiniApp uni-app 3.0.0
MiniApp uview-plus ^3.3.74

Getting the Code

# Clone Code to Local Machine
git clone https://gitee.com/tao__tao/fastapi_vue3_admin.git
or
git clone https://github.com/1014TaoTao/fastapi_vue3_admin.git

Local Backend Startup

# Navigate to the backend project directory
cd backend

# Install dependencies
pip3 install -r requirements.txt

# Start the backend service
python3 main.py run
or
python3 main.py run --env=dev

# Generate migration file (default environment is 'dev' if not specified)
python3 main.py revision "Initial migration" --env=dev

# Apply migration (default environment is 'dev' if not specified)
python3 main.py upgrade --env=dev

Local Frontend Startup

# 进入前端工程目录
cd frontend

# 安装依赖
npm install

# 启动前端服务
npm run dev

# 构建前端, 生成 `frontend/dist` 目录
npm run build

Local App Startup

# Navigate to the frontend project directory
cd frontend

# Install dependencies
npm install

# Start the frontend service
npm run dev

# Build the frontend, generating the `frontend/dist` directory
npm run build

Local Access Addresses


Docker Deployment

# Copy the script `fastapi_vue3_amdin/start.sh` to the server and grant execution permissions
chmod +x start.sh

# Execute the script
./start.sh

#  Access addresses
# Frontend access: `http://Public IP address:80`, 
# API access: `http://Public IP address:8001/api/v1/docs`, 
# Log in with `admin/123456` or `demo/123456`

# View images:
docker images -a

# View containers:
docker compose ps

# View logs
docker logs -f <Container name>

# Stop the service
docker compose down

# Delete an image
docker rmi <Image name>

# Delete a container
docker rm <Container name>
  • Deployment Issue Troubleshooting:
    • Backend configuration file fastapi_vue3_admin/backend/env/.env.prod.py
    • Frontend configuration files fastapi_vue3_admin/frontend/vite.config.ts and fastapi_vue3_admin/frontend/.env.production
    • Deployment files fastapi_vue3_admin/docker-compose.yaml and fastapi_vue3_admin/devops/devops/nginx/nginx.conf

🔧 Module Display

Login Dashboard Menu Management Department Management
Position Management Role Management User Management Log Management
Configuration Management Online User Management Server Monitoring Cache Monitoring
Task Management API Management Documentation Management Personal Information
Online Documentation Dictionary Management
App Login App Home Page App Workspace App Personal Center

🙏 Special Thanks

Thanks to the contributions and support of the following projects, which have enabled the successful completion of this project:


🎨 Community


❤️ Star Me

If you like this project, please give me a Star to show your support! Thank you very much!


👀 访问统计

Visitor Count