--- outline: "deep" title: Project Overview --- # 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 | Feature | Description | | ---- | ---- | | πŸ”­ Rapid Development | A completely open-source modern rapid development platform designed to help developers efficiently build high-quality enterprise-level backend systems. | | 🌐 Full-Stack Integration | Frontend-backend separation, integrating Python (FastAPI) + Vue3 multi-end development, supporting Web and mobile terminals. | | 🧱 Modular Design | System functions are highly decoupled, plugin-based architecture, supporting automatic route discovery and registration, easy to extend and maintain. | | ⚑️ High Performance | Using FastAPI asynchronous framework + Redis cache to optimize interface response speed. | | πŸ”’ Secure Authentication | Support for JWT OAuth2 authentication mechanism to ensure system security. | | πŸ“Š Permission Management | RBAC model implements fine-grained permission control at the menu, button, and data levels. | | πŸš€ Quick Deployment | Support for Docker/Docker Compose/Nginx one-click deployment. | | πŸ“„ Developer-Friendly | Provide comprehensive Chinese documentation + Chinese interface + visual toolchain, reducing learning costs. | | 🧩 Quick Integration | Based on Vue3, Vite5, Pinia, ElementPlus and other mainstream frontend technology stacks, out-of-the-box. | | πŸ“± Mobile Support | FastApp mobile application developed based on UniApp, supporting multi-end operation (H5, WeChat Mini Program, Alipay Mini Program, App, etc.). | | πŸ€– Agent Framework | Integrated agent framework, providing AI capabilities. | | 🎨 Theme Customization | Support for dark/light theme switching, providing personalized interface experience. | | 🌍 Internationalization Support | Built-in internationalization framework, supporting multi-language switching. | | πŸ“ˆ Data Visualization | Integrated chart library, providing rich data visualization capabilities. | | πŸ› οΈ Code Generation | Built-in code generation tool, improving development efficiency. | ## πŸ”§Technology Stack | Category | Technology | Description | |---------|------------|-------------| | **Backend Framework** | FastAPI / Uvicorn / Pydantic 2.0 / Alembic | Modern, high-performance asynchronous framework with enforced type constraints and data migration | | **ORM** | SQLAlchemy 2.0 | Powerful ORM library | | **Scheduled Tasks** | APScheduler | Easily implement scheduled tasks | | **Authentication** | PyJWT | Implement JWT authentication | | **Frontend Framework** | Vue3 / Vite5 / Pinia / TypeScript | Rapidly develop Vue3 applications | | **Frontend Tools** | ESLint / Prettier / Stylelint | Code quality and style tools | | **Mobile Framework** | UniApp / Vue3 / TypeScript | Cross-platform mobile application development | | **UI Library** | ElementPlus (Web) / Wot Design Uni (Mobile) | Enterprise-level UI component library | | **CSS Framework** | UnoCSS / SCSS | Atomic CSS and preprocessor | | **Database** | MySQL / PostgreSQL / SQLite | Relational database support | | **Cache** | Redis | Powerful cache database | | **API Documentation** | Swagger / Redoc | Automatically generate API documentation | | **Deployment** | Docker / Nginx / Docker Compose | Rapid project deployment | | **Monitoring** | Built-in Server Monitoring / Cache Monitoring | System operation status monitoring | | **Internationalization** | i18n | Multi-language support | | **Data Visualization** | ECharts | Rich data visualization capabilities | ## ✨Built-in Modules ### FastapiAdmin Main Project Modules | Module Name | Submodules | Description | |---------|------------|-------------| | **Dashboard** | Workbench, Analysis Page | System overview and data analysis | | **System Management** | User, Role, Menu, Department, Position, Dictionary, Configuration, Announcement | Core system management functions | | **Monitoring Management** | Online Users, Server Monitoring, Cache Monitoring | System operation status monitoring | | **Task Management** | Scheduled Tasks | Asynchronous task scheduling management | | **Log Management** | Operation Logs | User behavior auditing | | **Development Tools** | Code Generation, Form Builder, API Documentation | Tools to improve development efficiency | ### FastApp Mobile Application Modules | Module Name | Submodules | Description | |---------|------------|-------------| | **Home** | Carousel, Quick Navigation, Announcements, Data Statistics | Mobile home page display | | **Workbench** | Business function entry, supports permission control | Mobile core function area | | **Personal Center** | Personal Information, Settings, FAQ, Feedback | User personal related functions | | **User Authentication** | Login, Registration, Password Reset | User identity verification | | **Data Statistics** | Real-time visitor count, page views and other data display | Business data visualization | ## πŸ“žContact Information If you have any questions or suggestions about the project, please contact us through the following ways: - **GitHub**: [fastapiadmin/FastapiAdmin](https://github.com/fastapiadmin/FastapiAdmin) - **Gitee**: [fastapiadmin/FastapiAdmin](https://gitee.com/fastapiadmin/FastapiAdmin) - **Email**: 948080782@qq.com ## 🀝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](https://github.com/fastapiadmin/FastapiAdmin/blob/master/LICENSE) file.