Gitee Stars GitHub Stars License

# 📊 GitHub Data Statistics (Author: @1014TaoTao)

Activity Graph

--- English | [Chinese](./README.md) --- ## 📘 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. ```sh 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 - **Demo URL**: - **Admin Account**: `admin` / Password: `123456` - **Demo Account**: `demo` / Password: `123456` --- ## 👷 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 ```sh # 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 ```sh # 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 ```sh # 进入前端工程目录 cd frontend # 安装依赖 npm install # 启动前端服务 npm run dev # 构建前端, 生成 `frontend/dist` 目录 npm run build ``` --- ### Local App Startup ```sh # 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 - Frontend Address: - Mini Program Address: - API Address: - Admin Account: `admin` Password: `123456` - Demo Account: `demo` Password: `123456` --- ### Docker Deployment ```sh # 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 # Stop the service docker compose down # Delete an image docker rmi # Delete a container docker rm ``` - **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: - [FastAPI Project](https://fastapi.tiangolo.com/) - [Vue3 Project](https://v3.cn.vuejs.org/) - [KInit Project](https://gitee.com/ktianc/kinit) - [Fastapi-Vue3-Admin Project](https://gitee.com/senqi666/fastapi-vue-admin) - [Vue-FastAPI-Admin Project](https://gitee.com/mizhexiaoxiao/vue-fastapi-admin) - [RuoYi-Vue3-FastAPI Project](https://gitee.com/insistence2022/RuoYi-Vue3-FastAPI) - [APScheduler Project](https://github.com/agronholm/apscheduler) - [Vite Project](https://github.com/vitejs/vite) - [UniApp Project](https://github.com/dcloudio/uni-app) - [uView-plus Project](https://uiadmin.net/uview-plus) --- ## 🎨 Community
--- ## ❤️ Star Me If you like this project, please give me a ⭐️ Star to show your support! Thank you very much! --- ## 👀 访问统计 ![Visitor Count](https://profile-counter.glitch.me/1014TaoTao/count.svg) ---