Repository navigation
v1.0.0 - 功能完整的 FastAPI 基础项目模板
🎉 首次发布
这是一个功能完整的 FastAPI 基础项目模板,集成了企业级应用所需的核心功能。
✨ 核心特性
- FastAPI - 现代高性能 Python Web 框架
- Tortoise ORM - 异步 ORM,支持 SQLite/PostgreSQL/MySQL
- Celery + Redis - 分布式任务队列,支持分布式部署
- 数据库定时任务调度 - 类似 django-celery-beat,支持动态管理定时任务
- 任务结果自动记录 - 自动记录任务执行结果,支持配置保留天数
- JWT 认证 - 完整的用户注册、登录、权限控制
- Admin 管理 API - 用户管理、定时任务管理、任务执行记录查询
- Admin 管理后台 - 纯静态科技感 UI,无需额外前端框架
- Docker 支持 - 容器化部署
- 嵌入式单体部署 - 使用 PyInstaller 打包成单个可执行文件,适用于嵌入式设备
📋 主要功能模块
认证系统
- 用户注册/登录(邮箱或用户名)
- JWT Token 认证
- 权限控制(is_superuser/is_staff)
定时任务管理
- 动态创建/编辑/删除定时任务
- 支持 Interval 调度和 Crontab 调度
- 任务启用/禁用控制
- 手动立即执行任务
- 任务执行结果自动记录(成功/失败/撤销)
- 自动清理过期任务结果(默认7天)
Admin 管理后台
- 仪表盘(用户统计、任务统计、系统概览)
- 用户管理(CRUD 操作、权限管理)
- 定时任务管理(创建、编辑、启用/禁用、手动执行)
- 执行结果查看(状态查看、错误追踪)
🚀 快速开始
# 克隆项目
git clone https://github.com/miaokela/fastapi-tpl.git
cd fastapi-tpl
# 环境设置
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# 初始化数据库
sqlite3 default_db.sqlite3 < init_schema.sql
# 启动服务
./run_dev.sh # FastAPI 应用
./run_celery.sh worker # Celery Worker(新终端)
./run_celery.sh beat # Celery Beat(新终端)
# 访问应用
# API 文档: http://localhost:8000/docs
# Admin 后台: http://localhost:8000/admin