Skip to content

Project Overview

📋FastApiAdmin Introduction

FastApiAdmin is a completely open-source, highly modular, and technologically advanced modern rapid development platform designed to help developers efficiently build high-quality enterprise-level backend systems. The project adopts a frontend-backend separation architecture, integrating the Python backend framework FastAPI and the mainstream frontend framework Vue3 to achieve multi-end unified development, providing a one-stop out-of-the-box development experience.

Core Values

  • Reduce Development Costs: Out-of-the-box functional modules reduce repetitive development work
  • Improve Development Efficiency: Unified technology stack and development specifications accelerate project delivery
  • Ensure System Quality: Strict code quality control and testing processes
  • Flexible Scalability: Modular design supports business customization and function extension

Technical Advantages

  • Backend: Based on FastAPI asynchronous framework, excellent performance, automatically generates API documentation
  • Frontend: Based on Vue3 + TypeScript + ElementPlus, type-safe, good development experience
  • Mobile: Based on Uni App, supports multi-platform deployment
  • Database: Supports MySQL and MongoDB to meet different business scenario needs
  • Cache: Integrated Redis to improve system response speed
  • Deployment: Supports Docker containerized deployment, simplifying operation and maintenance work

🎯Application Scenarios

  • Enterprise Internal Management Systems: Human resources, finance, OA and other systems
  • Business Operation Platforms: E-commerce, content management, customer management and other systems
  • Data Analysis Platforms: Data visualization, report statistics and other systems
  • API Management Platforms: Interface management, documentation management and other systems
  • Multi-platform Applications: Application scenarios that require both Web and mobile terminals

📦Project Structure Overview

The project has been split into three independent repositories for separate development and maintenance:

1. FastapiAdmin Main Project

sh
FastapiAdmin/
├─ backend/              # Backend project
  ├─ app/              # Core application code
  ├─ api/           # API interfaces
  └─ v1/         # API version
     ├─ module_common/    # Common module
     ├─ module_monitor/   # Monitoring module
     └─ module_system/    # System module
  ├─ common/        # Common code
  ├─ config/        # Configuration management
  ├─ core/          # Core functionality
  ├─ plugin/        # Plugin system
  ├─ module_application/  # Application module
  ├─ module_example/      # Example module
  └─ module_generator/    # Code generation module
  ├─ scripts/       # Script tools
  └─ utils/         # Utility functions
  ├─ alembic/          # Database migration
  ├─ env/              # Environment configuration
  ├─ static/           # Static resources
  ├─ tests/            # Test code
  ├─ README.md         # Backend documentation
  ├─ main.py           # Backend entry
  └─ requirements.txt  # Python dependencies
├─ frontend/            # Frontend project
  ├─ src/              # Source code
  ├─ api/           # API interfaces
  ├─ assets/        # Resource files
  ├─ components/    # Components
  ├─ composables/   # Composables
  ├─ constants/     # Constants
  ├─ directives/    # Directives
  ├─ enums/         # Enums
  ├─ lang/          # Internationalization
  ├─ layouts/       # Layouts
  ├─ plugins/       # Plugins
  ├─ router/        # Router
  ├─ store/         # State management
  ├─ styles/        # Styles
  ├─ types/         # Type definitions
  ├─ utils/         # Utility functions
  └─ views/         # Pages
  ├─ public/           # Static resources
  ├─ package.json      # Frontend dependencies
  └─ README.md         # Frontend documentation
├─ devops/              # DevOps project
  ├─ backend/          # Backend deployment configuration
  ├─ nginx/            # Nginx configuration
  └─ redis/            # Redis configuration
├─ docker-compose.yaml  # Deployment file
├─ deploy.sh            # Deployment script
├─ LICENSE              # License
└─ README.md            # Project documentation

2. FastApp Mobile Application

sh
FastApp/
├─ src/                 # Source code directory
  ├─ api/             # API interfaces
  ├─ auth.ts       # Authentication interfaces
  ├─ file.ts       # File interfaces
  └─ user.ts       # User interfaces
  ├─ components/      # Components
  ├─ cu-date-query/ # Date query component
  ├─ cu-picker/     # Picker component
  ├─ qiun-error/    # Error component
  └─ qiun-loading/  # Loading component
  ├─ composables/     # Composables
  ├─ useNavigationBar.ts # Navigation bar management
  ├─ useStomp.ts   # WebSocket management
  └─ useTabbar.ts  # Tabbar management
  ├─ constants/       # Constants
  ├─ index.ts      # Constants definition
  └─ storage.constant.ts # Storage keys
  ├─ enums/           # Enums
  ├─ api-code.enum.ts # API error codes
  └─ api-header.enum.ts # API headers
  ├─ layouts/         # Layout components
  ├─ default.vue   # Default layout
  └─ tabbar.vue    # Tabbar layout
  ├─ pages/           # Page files
  ├─ index/        # Home page
  ├─ data.ts     # Data definition
  ├─ index.vue   # Home page component
  └─ types.ts    # Type definitions
  ├─ login/        # Login page
  └─ index.vue   # Login component
  ├─ mine/         # Personal center
  ├─ about/      # About page
  ├─ faq/        # FAQ page
  ├─ feedback/   # Feedback page
  ├─ profile/    # Profile page
  ├─ settings/   # Settings page
  └─ index.vue   # Personal center component
  └─ work/         # Workbench
     ├─ data.ts     # Data definition
     ├─ index.vue   # Workbench component
     └─ types.ts    # Type definitions
  ├─ router/          # Router configuration
  └─ index.ts      # Router configuration file
  ├─ static/          # Static resources
  ├─ icons/        # Icons
  ├─ images/       # Images
  └─ logo.png      # Logo
  ├─ store/           # State management
  ├─ modules/      # Modules
  ├─ theme.store.ts # Theme management
  └─ user.store.ts # User management
  └─ index.ts      # State management configuration
  ├─ styles/          # Style files
  └─ index.scss    # Global styles
  ├─ types/           # TypeScript definitions
  ├─ utils/           # Utility functions
  ├─ auth.ts       # Authentication utility
  ├─ color.ts      # Color utility
  ├─ index.ts      # Utility functions
  ├─ request.ts    # Request utility
  └─ storage.ts    # Storage utility
  ├─ App.vue          # Application root component
  ├─ main.ts          # Application entry file
  ├─ manifest.json    # Application configuration file
  ├─ pages.json       # Page router configuration
  └─ theme.json       # Theme configuration
├─ public/             # Static resources
├─ .env.development    # Development environment configuration
├─ .env.production     # Production environment configuration
├─ package.json        # Project dependencies
├─ pages.config.ts     # Page configuration
├─ tsconfig.json       # TypeScript configuration
├─ unocss.config.ts    # UnoCSS configuration
└─ vite.config.ts      # Vite configuration

3. FastDocs Official Documentation

sh
FastDocs/
├─ docs/               # Documentation source
  ├─ development/     # Development documentation
  ├─ en/              # English documentation
  ├─ overview/        # Overview documentation
  ├─ quickstart/      # Quick start
  ├─ public/          # Static resources
  └─ index.md         # Home page
├─ .vitepress/         # VitePress configuration
  ├─ theme/           # Theme configuration
  └─ config.ts        # Site configuration
├─ package.json        # Project dependencies
└─ README.md           # Project documentation

✨Core Highlights

FeatureDescription
🔭 Rapid DevelopmentA completely open-source modern rapid development platform designed to help developers efficiently build high-quality enterprise-level backend systems.
🌐 Full-Stack IntegrationFrontend-backend separation, integrating Python (FastAPI) + Vue3 multi-end development, supporting Web and mobile terminals.
🧱 Modular DesignSystem functions are highly decoupled, plugin-based architecture, supporting automatic route discovery and registration, easy to extend and maintain.
⚡️ High PerformanceUsing FastAPI asynchronous framework + Redis cache to optimize interface response speed.
🔒 Secure AuthenticationSupport for JWT OAuth2 authentication mechanism to ensure system security.
📊 Permission ManagementRBAC model implements fine-grained permission control at the menu, button, and data levels.
🚀 Quick DeploymentSupport for Docker/Docker Compose/Nginx one-click deployment.
📄 Developer-FriendlyProvide comprehensive Chinese documentation + Chinese interface + visual toolchain, reducing learning costs.
🧩 Quick IntegrationBased on Vue3, Vite5, Pinia, ElementPlus and other mainstream frontend technology stacks, out-of-the-box.
📱 Mobile SupportFastApp mobile application developed based on UniApp, supporting multi-end operation (H5, WeChat Mini Program, Alipay Mini Program, App, etc.).
🤖 Agent FrameworkIntegrated agent framework, providing AI capabilities.
🎨 Theme CustomizationSupport for dark/light theme switching, providing personalized interface experience.
🌍 Internationalization SupportBuilt-in internationalization framework, supporting multi-language switching.
📈 Data VisualizationIntegrated chart library, providing rich data visualization capabilities.
🛠️ Code GenerationBuilt-in code generation tool, improving development efficiency.

🔧Technology Stack

CategoryTechnologyDescription
Backend FrameworkFastAPI / Uvicorn / Pydantic 2.0 / AlembicModern, high-performance asynchronous framework with enforced type constraints and data migration
ORMSQLAlchemy 2.0Powerful ORM library
Scheduled TasksAPSchedulerEasily implement scheduled tasks
AuthenticationPyJWTImplement JWT authentication
Frontend FrameworkVue3 / Vite5 / Pinia / TypeScriptRapidly develop Vue3 applications
Frontend ToolsESLint / Prettier / StylelintCode quality and style tools
Mobile FrameworkUniApp / Vue3 / TypeScriptCross-platform mobile application development
UI LibraryElementPlus (Web) / Wot Design Uni (Mobile)Enterprise-level UI component library
CSS FrameworkUnoCSS / SCSSAtomic CSS and preprocessor
DatabaseMySQL / PostgreSQL / SQLiteRelational database support
CacheRedisPowerful cache database
API DocumentationSwagger / RedocAutomatically generate API documentation
DeploymentDocker / Nginx / Docker ComposeRapid project deployment
MonitoringBuilt-in Server Monitoring / Cache MonitoringSystem operation status monitoring
Internationalizationi18nMulti-language support
Data VisualizationEChartsRich data visualization capabilities

✨Built-in Modules

FastapiAdmin Main Project Modules

Module NameSubmodulesDescription
DashboardWorkbench, Analysis PageSystem overview and data analysis
System ManagementUser, Role, Menu, Department, Position, Dictionary, Configuration, AnnouncementCore system management functions
Monitoring ManagementOnline Users, Server Monitoring, Cache MonitoringSystem operation status monitoring
Task ManagementScheduled TasksAsynchronous task scheduling management
Log ManagementOperation LogsUser behavior auditing
Development ToolsCode Generation, Form Builder, API DocumentationTools to improve development efficiency

FastApp Mobile Application Modules

Module NameSubmodulesDescription
HomeCarousel, Quick Navigation, Announcements, Data StatisticsMobile home page display
WorkbenchBusiness function entry, supports permission controlMobile core function area
Personal CenterPersonal Information, Settings, FAQ, FeedbackUser personal related functions
User AuthenticationLogin, Registration, Password ResetUser identity verification
Data StatisticsReal-time visitor count, page views and other data displayBusiness data visualization

📞Contact Information

If you have any questions or suggestions about the project, please contact us through the following ways:

🤝Contribution Guide

We welcome community contributions, including but not limited to:

  • Submit bug reports and feature suggestions
  • Improve code quality and performance
  • Perfect documentation and examples
  • Develop new functional modules

📄License

This project adopts the MIT license. For details, see the LICENSE file.

MIT License