## 📘 Project 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 and frontend systems. This project adopts a **frontend-backend separation architecture**, integrating the Python backend framework `FastAPI` and the mainstream frontend framework `Vue3` to achieve unified development across multiple terminals, providing a one-stop out-of-the-box development experience.
> **Design Philosophy**: With modularity and loose coupling at its core, it pursues rich functional modules, simple and easy-to-use interfaces, detailed development documentation, and convenient maintenance methods. By unifying frameworks and components, it reduces the cost of technology selection, follows development specifications and design patterns, builds a powerful code hierarchical model, and comes with comprehensive local language support. It is specifically tailored for team and enterprise development scenarios.
## 🔗 Source Repositories
| Platform | Repository |
|----------|------------|
| GitHub | [FastapiAdmin Main](https://github.com/1014TaoTao/FastapiAdmin.git) \| [FastDocs Website](https://github.com/1014TaoTao/FastDocs.git) \| [FastApp Mobile](https://github.com/1014TaoTao/FastApp.git) |
| Gitee | [FastapiAdmin Main](https://gitee.com/tao__tao/FastapiAdmin.git) \| [FastDocs Website](https://gitee.com/tao__tao/FastDocs.git) \| [FastApp Mobile](https://gitee.com/tao__tao/FastApp.git) |
## 🎯 Core Advantages
| Advantage | Description |
| ---- | ---- |
| 🔥 **Modern Tech Stack** | Built with cutting-edge technologies like FastAPI + Vue3 + TypeScript |
| ⚡ **High Performance** | Leveraging FastAPI's asynchronous features and Redis caching for optimized response speed |
| 🔐 **Secure & Reliable** | JWT + OAuth2 authentication mechanism with RBAC permission control model |
| 🧱 **Modular Design** | Highly decoupled system architecture for easy expansion and maintenance |
| 🌐 **Full-Stack Support** | Integrated solution for Web + Mobile(H5) + Backend |
| 🚀 **Rapid Deployment** | One-click Docker deployment for quick production rollout |
| 📖 **Comprehensive Docs** | Detailed documentation and tutorials to reduce learning curve |
## 📦 Engineering Structure Overview
```sh
FastapiAdmin
├─ backend # Backend project (FastAPI + Python)
├─ frontend # Web frontend project (Vue3 + Element Plus)
├─ fastapp # Mobile project (UniApp + Wot Design Uni)
├─ fastdocs # Documentation project (VitePress)
├─ devops # Deployment configurations
├─ docker-compose.yaml # Docker orchestration file
├─ deploy.sh # One-click deployment script
├─ LICENSE # Open source license
|─ README.en.md # English documentation
└─ README.md # Chinese documentation
```
## 🛠️ Technology Stack Overview
| Type | Technology Selection | Description |
|------|----------------------|-------------|
| **Backend Framework** | FastAPI / Uvicorn / Pydantic 2.0 / Alembic | Modern, high-performance asynchronous framework with mandatory type constraints and data migration capabilities |
| **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 |
| **Web UI** | ElementPlus | Enterprise-level UI component library |
| **Mobile** | UniApp / Wot Design Uni | Cross-platform mobile application framework |
| **Database** | MySQL / MongoDB | Support for relational and document databases |
| **Cache** | Redis | High-performance cache database |
| **Documentation** | Swagger / Redoc | Automatically generate API documentation |
| **Deployment** | Docker / Nginx / Docker Compose | Containerized deployment solution |
## 📌 Built-in Functional Modules
| Module | Features | Description |
|------|------|------|
| 📊 **Dashboard** | Workbench, Analysis Page | System overview and data analysis |
| ⚙️ **System Management** | Users, Roles, Menus, Departments, Positions, Dictionaries, Configurations, Announcements | Core system management functions |
| 👀 **Monitoring** | Online Users, Server Monitoring, Cache Monitoring | System runtime 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 enhance development efficiency |
| 📁 **File Management** | File Storage | Unified file management |
## 🍪 Demo Environment
- 🌐 Official Website: [https://service.fastapiadmin.com](https://service.fastapiadmin.com)
- 💻 Web Demo: [https://service.fastapiadmin.com/web](https://service.fastapiadmin.com/web)
- 📱 Mobile: [https://service.fastapiadmin.com/app](https://service.fastapiadmin.com/app)
- 👤 Login Account: `admin` Password: `123456`
## 🚀 Quick Start
### Environment Requirements
| Type | Technology Stack | Version |
|------|------------------|---------|
| Backend | Python | ≥ 3.10 |
| Backend | FastAPI | 0.109+ |
| Frontend | Node.js | ≥ 20.0 |
| Frontend | Vue3 | 3.3+ |
| Database | MySQL | 8.0+ |
| Cache | Redis | 7.0+ |
### Get the Code
```bash
# Clone the repository to your local machine
git clone https://gitee.com/tao__tao/FastapiAdmin.git
# Or
git clone https://github.com/1014TaoTao/FastapiAdmin.git
```
### Backend Setup
```bash
# Navigate to the backend directory
cd backend
# Install dependencies
pip3 install -r requirements.txt
# Start the backend service: ensure that MySQL and Redis are running
python main.py run
# Or specify environment
python main.py run --env=dev
# Generate migration files
python main.py revision --env=dev
# Apply migrations
python main.py upgrade --env=dev
```
### Frontend Setup
```bash
# Navigate to the frontend directory
cd frontend
# Install dependencies
pnpm install
# Start the development server
pnpm run dev
# Build for production
pnpm run build
```
### Mobile Setup
```bash
# Navigate to the mobile directory
cd fastapp
# Install dependencies
pnpm install
# Start the H5 development server
pnpm run dev:h5
# Build for H5 production
pnpm run build:h5
```
### Documentation Setup
```bash
# Navigate to the documentation directory
cd fastdocs
# Install dependencies
pnpm install
# Start the documentation development server
pnpm run docs:dev
# Build documentation for production
pnpm run docs:build
```
### Access URLs
- 🏠 Official Website: [http://localhost:5180](http://localhost:5180)
- 🖥️ Web Interface: [http://localhost:5180/web](http://localhost:5180/web)
- 📱 Mobile Interface: [http://localhost:5180/app](http://localhost:5180/app)
Default accounts:
- Admin: `admin` / `123456`
## 🐳 Docker Deployment
```bash
# Copy the deployment script to the server and grant execution permissions
chmod +x deploy.sh
# Execute one-click deployment
./deploy.sh
# Common Docker commands
# View running containers
docker compose ps
# View container logs
docker logs -f