logo

FastApiAdmin v3.0.0

๐Ÿš€ Exceptional Code Quality, Production-Ready Admin Dashboard in 5 Minutes

Full-stack rapid development platform powered by FastAPI + Vue3 + TypeScript. Web, H5, and Mini Program โ€” all in one project.

Gitee Stars GitHub Stars GitHub Forks
License Commit Activity

English | [็ฎ€ไฝ“ไธญๆ–‡](./README.md)
## ๐Ÿ–ฅ๏ธ Screenshots **Web** ![Dashboard](frontend/web/public/dashboard.png) **Mobile (H5 / Mini Program / App from one codebase)**

## ๐Ÿ’ก Why FastapiAdmin? | You Need | FastapiAdmin | Django Admin | Frontend-Only | |----------|:-----------:|:-----------:|:-------------:| | ๐ŸŽฏ **Ready-to-use** admin system | โœ… | โš ๏ธ Limited | โŒ UI only | | โšก **FastAPI async** high-performance backend | โœ… | โŒ Sync-first | โŒ No backend | | ๐Ÿ” **RBAC** menu/button/data level permissions | โœ… | โŒ Basic | โŒ | | ๐Ÿค– **Code generator** (table โ†’ full CRUD) | โœ… | โŒ | โŒ | | ๐Ÿ“ฑ **Mobile** (H5 + Mini Program) included | โœ… | โŒ | โŒ | | ๐Ÿณ **Docker** one-click deploy (Nginx + SSL) | โœ… | โŒ | โŒ | > ๐Ÿ‘‰ Full comparison: [Why FastapiAdmin?](https://service.fastapiadmin.com/en/guide/why) ## ๐Ÿช Live Demo | | URL | Account | |---|-----|---------| | ๐Ÿ’ป Web | [service.fastapiadmin.com/web](https://service.fastapiadmin.com/web) | `admin` / `123456` | | ๐Ÿ“ฑ Mobile | [service.fastapiadmin.com/app](https://service.fastapiadmin.com/app) | `admin` / `123456` | | ๐Ÿ“– Official Docs | [service.fastapiadmin.com](https://service.fastapiadmin.com) | No login | ## ๐Ÿš€ 5-Minute Quick Start ```bash # 1. Clone git clone https://github.com/fastapiadmin/FastapiAdmin.git # 2. Configure environments cp backend/env/.env.example backend/env/.env.dev cp frontend/web/.env.development.example frontend/web/.env.development # 3. Start backend (auto-creates tables + seed data on first run) cd backend && uv sync && uv run main.py run --env=dev # 4. Start frontend cd ../frontend/web && pnpm install && pnpm run dev # โœ… Open http://127.0.0.1:5173, login with admin/123456 ``` | Requirements | | |-------------|------| | Python โ‰ฅ 3.12 | Node.js โ‰ฅ 20 + pnpm | | MySQL 8.0+ / PostgreSQL 14+ | Redis 6.x / 7.x | ### ๐Ÿณ Or: One-Command Docker Deployment ```bash cp docker/.env.example docker/.env # Fill in MySQL / Redis passwords ./deploy.sh # Build images and start the full stack (Nginx + SSL included) ``` > For ports, SSL certificates and frontend builds, see the [Docker deployment guide](docker/README.md). ## ๐Ÿ“ฆ Structure ``` FastapiAdmin/ # Monorepo full-stack project โ”œโ”€ backend/ # FastAPI backend (Pydantic 2.0 + SQLAlchemy + Alembic) โ”œโ”€ frontend/ โ”‚ โ”œโ”€โ”€ web/ # Vue3 Web (Element Plus + TypeScript) โ”‚ โ”œโ”€โ”€ app/ # UniApp Mobile (H5 + Mini Program + App) โ”‚ โ””โ”€โ”€ docs/ # VitePress documentation โ”œโ”€ docker/ # Docker Compose deploy (Nginx + SSL) โ”œโ”€ deploy.sh # One-click deploy script โ””โ”€ LICENSE # MIT ``` ## ๐Ÿ“Œ Built-in Features > **200+ REST endpoints** ยท MySQL / PostgreSQL / SQLite ยท SFTP / S3 / OSS / COS / OBS storage adapters ยท Trim modules with a single `ENABLED_MODULES` entry ### Core Modules (always enabled, cannot be removed) | Module | Capabilities | |--------|-------------| | ๐Ÿ“Š Dashboard | Workbench, Analytics | | โš™๏ธ System Management | Users, Roles, Menus, Departments, Positions, Dicts, Config, Notices, Tickets, Versions | | ๐Ÿ‘€ Monitoring | Online users, Server monitoring, Cache monitoring | | ๐Ÿ“ Logs | Operation audit | | ๐Ÿงฐ Dev Tools | API Docs | ### Extension Modules (enabled by default, trim via `ENABLED_MODULES`) | Module | Capabilities | Toggle | |--------|-------------|--------| | ๐Ÿงฉ Task Management | Scheduled tasks + visual workflow orchestration (built-in business nodes) | `task` | | ๐Ÿ”ง Code Generator | Table โ†’ full frontend/backend code | `generator` | | ๐Ÿ“ Storage | Unified file / object storage (SFTP / S3 / OSS / COS / OBS) | `storage` | | ๐Ÿค– AI Chat | Agno-powered agent conversations | `ai` | | ๐Ÿ’ฌ Internal Chat | Text-only private / group chat between users (WebSocket real-time push + unread badge) | `chat` | ## ๐Ÿ”ง Module Toggling Extension modules can be enabled/disabled on demand via `ENABLED_MODULES` in `backend/app/config/setting.py` โ€” **just remove an item from the list; no code or menu deletion needed**. The corresponding REST endpoints, WebSocket endpoints and initialization logic will not be loaded automatically: ```python # e.g. Disable internal chat and AI assistant, keep the rest ENABLED_MODULES = ["generator", "task", "storage"] ``` ## ๐Ÿšฆ Deployment Notes - **Chat scope**: Internal chat is positioned as **lightweight internal communication** โ€” text-only messages. **No file transfer, recall, read receipts, or multi-device sync (IM features)**. For strong IM needs, integrate mature products such as WeCom / DingTalk / Feishu. It can be disabled anytime by removing `chat` from `ENABLED_MODULES`. - **Single-instance deployment**: Real-time features (internal chat WebSocket, scheduled task scheduler) rely on in-memory connections and local scheduling within a single instance โ€” please deploy as a **single instance**. For horizontal scaling, integrate Redis Pub/Sub or a message queue yourself. - **Key security**: Configure all third-party keys (AI, cloud storage, etc.) in the `backend/env/.env.*` environment variables. **Never commit them to the repository or store them in the database**. - **Database migrations**: Manage schema changes with Alembic migrations in production (`uv run alembic upgrade head`); `create_all` is only a fallback for first-time initialization. ## ๐Ÿ“ท More Screenshots | Login | Code Generator | AI Assistant | | ----- | -------------- | ------------ | | ![Login](frontend/web/public/login.png) | ![Code Generator](frontend/web/public/gencode.png) | ![AI](frontend/web/public/ai.png) | ## ๐Ÿ“– Documentation - ๐ŸŒ [Official Docs](https://service.fastapiadmin.com) โ€” Full guides, architecture, custom development - ๐Ÿ“ Sub-project READMEs: [backend](backend/README.md) ยท [web](frontend/web/README.md) ยท [mobile](frontend/app/README.md) ยท [Docker](docker/README.md) ## ๐Ÿค Contributing Issues and PRs are welcome! See [Contributing Guide](https://service.fastapiadmin.com/en/about/contributing). ## ๐Ÿ‘ฅ Community

## โญ Star History [![Star History Chart](https://api.star-history.com/svg?repos=fastapiadmin/FastapiAdmin&type=Date)](https://star-history.com/#fastapiadmin/FastapiAdmin&Date) ## ๐Ÿ‘ฅ Contributors > Thank you to all contributors who have contributed code to FastapiAdmin. ## ๐Ÿ™ Acknowledgments > If you find this project useful, please give it a โญ๏ธ Star! - Backend: [FastAPI](https://fastapi.tiangolo.com/) ยท [Pydantic](https://docs.pydantic.dev/) ยท [SQLAlchemy](https://www.sqlalchemy.org/) ยท [APScheduler](https://github.com/agronholm/apscheduler) - Frontend: [Vue3](https://vuejs.org/) ยท [TypeScript](https://www.typescriptlang.org/) ยท [Vite](https://vitejs.dev/) ยท [Element Plus](https://element-plus.org/) - Mobile: [UniApp](https://uniapp.dcloud.net.cn/) ยท [Wot Design Uni](https://wot-ui.cn/) - AI: [Agno](https://github.com/agno-agi/agno)