|
|
1 week ago | |
|---|---|---|
| backend | 1 week ago | |
| devops | 1 week ago | |
| frontend | 1 week ago | |
| .gitignore | 1 week ago | |
| LICENSE | 1 week ago | |
| README.en.md | 1 week ago | |
| README.md | 1 week ago | |
| deploy.sh | 1 week ago | |
| docker-compose.yaml | 1 week ago |
If you like this project, please give it a ⭐️ to show your support!
English | [简体中文](./README.md)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.
| Platform | Repository |
|---|---|
| GitHub | FastapiAdmin Main | FastDocs Website | FastApp Mobile |
| Gitee | FastapiAdmin Main | FastDocs Website | FastApp Mobile |
| 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 |
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
| 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 |
| 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 |
admin Password: 123456| 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+ |
# 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
# 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
# Navigate to the frontend directory
cd frontend
# Install dependencies
pnpm install
# Start the development server
pnpm run dev
# Build for production
pnpm run build
# 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
# 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
Default accounts:
admin / 123456# 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 <container_name>
# Stop services
docker compose down
| Module | Screenshot |
|---|---|
| Login | ![]() |
| Dashboard | ![]() |
| Analysis | ![]() |
| Menu | ![]() |
| Department | ![]() |
| Position | ![]() |
| Role | ![]() |
| User | ![]() |
| Log | ![]() |
| Config | ![]() |
| OnlineUser | ![]() |
| Server | ![]() |
| Cache | ![]() |
| Task | ![]() |
| Dict | ![]() |
| API Docs | ![]() |
| Theme | ![]() |
| Document | ![]() |
| Lock | ![]() |
| Form | ![]() |
| Generator | ![]() |
| Workflow | ![]() |
| File | ![]() |
| MyApps | ![]() |
| Setting | ![]() |
| AI | ![]() |
| Module | Details | Module | Details | Module | Details |
|---|---|---|---|---|---|
| Login | ![]() |
Home | ![]() |
Profile | ![]() |
| Personal | ![]() |
Settings | ![]() |
Workbench | ![]() |
backend/app/api/v1/models/demo/example_model.py (corresponding to the entity class layer in Spring Boot).backend/app/api/v1/schemas/demo/example_schema.py (corresponding to the DTO layer in Spring Boot).backend/app/api/v1/cruds/demo/example_crud.py (corresponding to the Mapper or DAO layer in Spring Boot).backend/app/api/v1/services/demo/example_service.py (corresponding to the Service layer in Spring Boot).backend/app/api/v1/controllers/demo/example_controller.py (corresponding to the Controller layer in Spring Boot).backend/app/api/v1/urls/demo_url.py.backend/plugin/init_app.py.backend/app/scripts/initialize.py (if necessary, you can configure the demo menu permissions in backend/app/scripts/data/system_menu.json and backend/app/scripts/data/system_role_menus.json or from the frontend page menu).backend/app/alembic/env.py.The code generation module is one of the core features of this project, which can help developers quickly generate complete CRUD code and greatly improve development efficiency. This module is based on the Jinja2 template engine and can generate integrated front-end and back-end functional modules.
Create or Import Data Tables:
Configure Generation Parameters:
studentstudentstudentStudent ManagementField Configuration:
Code Preview:
Code Generation:
The code generator will generate a complete front-end and back-end code structure:
Backend Files:
backend/app/api/v1/module_{module_name}/{business_name}/controller.pybackend/app/api/v1/module_{module_name}/{business_name}/service.pybackend/app/api/v1/module_{module_name}/{business_name}/crud.pybackend/app/api/v1/module_{module_name}/{business_name}/model.pybackend/app/api/v1/module_{module_name}/{business_name}/schema.pybackend/app/api/v1/module_{module_name}/{business_name}/param.pyFrontend Files:
frontend/src/api/module_{module_name}/{business_name}.tsfrontend/src/views/module_{module_name}/{business_name}/index.vueDatabase Files:
backend/sql/module_{module_name}/{business_name}_menu.sqlsys_studentsys_student tablestudentstudentstudentStudent Managementfrontend/src/api/demo/example.ts.frontend/src/views/demo/example/index.vue.fastapp/src/api.fastapp/src/pages.For more details, please check the Official Documentation
Thanks to the contributions and support of the following open-source projects:
| WeChat QR Code | Group QR Code | WeChat Pay QR Code |
|---|---|---|
![]() |
![]() |
![]() |
If you like this project, please give it a ⭐️ Star to show your support! Thank you very much!