Files
FastapiAdmin/README.en.md
T
zhangtao 00b7fe54ba feat: 添加任务管理和字典管理功能,优化系统配置和代码结构
本次提交主要包含以下变更:
1. 新增任务管理模块,支持定时任务的创建、更新、删除和状态管理
2. 新增字典管理模块,用于维护系统中常用的固定数据
3. 优化系统配置,移除Celery,改用APScheduler进行任务调度
4. 修复部分前端组件的样式问题,统一输入框宽度
5. 更新文档和相关图片资源,完善系统功能描述

这些变更旨在增强系统的可维护性和功能性,提供更灵活的任务调度机制和更便捷的字典数据管理方式。
2025-04-12 06:43:27 +08:00

9.9 KiB
Raw Blame History

logo

Fastapi-Vue3-Admin v1.0.0

A rapid web application development framework for front-end and back-end separation based on Fastapi-Vue3-Admin

English | Chinese

📚 Project Introduction

Fastapi-Vue3-Admin is a fully open-source rapid development platform that provides free usage. It combines modern, high-performance technology stacks to help developers quickly build high-quality backend systems. The project directory structure is as follows:

fastapi_vue_admin
├─ backend        # Backend project
├─ frontend       # Frontend project
├─ devops         # Deployment project
├─ mkdocs         # Documentation project
├─ README.en.md   # English documentation
└─ README.md      # Chinese documentation
  • Backend:

    • FastAPI:A modern, high-performance asynchronous framework.
    • Swagger:Automatically generates interactive API documentation.
    • Pydantic:Enforces type constraints.
    • SQLAlchemy 2.0:A powerful ORM library.
    • APScheduler:A powerful job scheduling library.
  • Frontend:

    • Vue3:A modern frontend framework.
    • Ant Design Vue:An enterprise-level UI component library.
    • TypeScript:Static type checking.
    • Vite:A fast build tool.
  • Authentication:OAuth2 using hashed passwords and JWT Bearer tokens.

  • Authorization Architecture:Designed based on RBAC, supporting dynamic permission menus, button-level permission control, and data-level permission control.

  • Ready-to-use:Suitable as a starting template for new projects, also useful for learning and reference.

If you find the project helpful, please give it a star!

🍻 Project Features

  • Modular and loosely coupled
  • Rich modules, ready-to-use
  • Simple and easy to integrate
  • Comprehensive documentation, easy to maintain
  • Top-down, systematic design
  • Unified framework, unified components, reducing selection costs
  • Development standards, design patterns, code layering models
  • Powerful and convenient development toolchain
  • Complete local internationalization support
  • Designed for team and enterprise use

📌 Built-in Modules

  • Dashboard: Dashboard display, entry point for common features.

  • System Management

    • Menu Management:Configures system menus, operation permissions, and button permission identifiers.
    • Department Management:Configures the organizational structure of the system, supports data permissions in tree structures.
    • Position Management:Manages user positions.
    • Role Management:Manages role menus and permission allocation, sets menu permissions for roles.
    • User Management:Maintains and manages system users, including regular information maintenance and account settings.
    • Log Management:Uniformly maintains commonly used and relatively fixed data in the system.
    • Config Management:Maintains system configuration information, such as system parameters and system settings.
    • Notice Management:Manages system notifications, such as system messages and system announcements.
    • Dict Management:Manages system dictionaries, such as system parameters and system settings.
    • Job Management:Manages system jobs, such as system messages and system announcements.
  • Monitoring Management

    • Online Users:Views currently online users in the system.
    • Server Monitoring:Views the system's runtime status, including memory, CPU, disk, etc.
    • Cache Monitoring:Views system cache information, such as cache hit rate and cache keys.
  • Common Management

    • API Management:Maintains system APIs, such as API addresses and request methods.
    • Documentation Management:Maintains system API documentation, supports online API calls.

🍪 Account Information

Account Type Username Password
Admin Account admin 123456
Demo Account demo 123456

👷 Installation and Usage

Version Information

Type Technology Stack Version
Backend Python 3.10
Backend FastAPI 0.109
Frontend Node.js >= 20.0Recommended latest version
Frontend npm 16.14
Frontend Vue3 3.3
Database MySQL 8.0 Recommended latest version
Database PostgreSQL 14Recommended latest version
Database MongoDB 8.0Recommended latest version
Middleware Redis 7.0 Recommended latest version

Get the Code

git clone https://gitee.com/tao__tao/fastapi_vue3_admin.git

Backend

  1. Install dependencies

    cd backend
    pip3 install -r requirements.txt
    
    When running pip install, I encountered the following error: UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position.
    Solution Linkhttps://www.cnblogs.com/RexTooru/p/17303318.html
    
  2. Modify project database configuration The DB_DRIVER database driver type and the corresponding database configuration information are located in the app/config/.env.dev (.env.test, .env.prod) files.

  3. Create a database named fastapi_vue_admin

  4. Initialize database data

    # Run in the root directory of the backend project (backend)
    # This command will automatically generate tables and data in the database
    # If the database has already been initialized, this command can be skipped
    python3 main.py init
    
  5. Start the backend

    # Run in the root directory of the backend project (backend)
    python3 main.py run
    
    # After modifying the models, you need to: regenerate migration files and then apply migrations
    # Generate migration
    # python main.py revision "initial migration" --env=dev (default is dev if not specified)
    # Apply migration
    # python main.py upgrade --env=dev (default is dev if not specified)
    

Frontend

  1. Install dependencies

    cd frontend
    npm install
    
  2. Run the frontend

    npm run dev
    
  3. Build the frontend

    npm run build
    

Access the Project

🔧 Module Showcase

Login Dashboard
Menu Department
Position Role
User Log
Config Online
Server Cache
Task API
Documentation Personal
Help Dict

Special Thanks

Thank you to the following projects for their contributions and support, which have made this project possible:

🎨 WeChat Group

The QR codes below are personal codes that can be used for technical discussions and to discuss various issues encountered during project usage. I sincerely hope everyone can optimize the project together and actively participate in discussions to support each other!

Personal QR Codes