🚀 现代化的 FastAPI 项目模板,集成了完整的开发工具链和最佳实践
📅 创建者: Gyy
📅 创建时间: 2025年09月04日
- 🏗️ SQLModel / SQLAlchemy - 现代化 ORM
- 🔄 Alembic - 数据库迁移工具
- 🐘 PostgreSQL - 强大的关系型数据库
- 🐳 Docker - 容器化部署
- 🔄 GitHub Actions - CI/CD 自动化
- 🐪 camelCase API 响应格式
- 📚 自动生成 API 文档
- 在您的机器上安装 Docker
- 启动 Docker 服务
-
配置环境变量
# 复制环境变量模板并填写配置 cp .env.example .env -
构建镜像
docker compose build
-
运行数据库迁移
docker compose run web alembic upgrade head
-
启动服务
# 开发模式(支持热重载) docker compose up --watch -
停止服务
# 按 Ctrl+C 或运行以下命令 docker compose down
启动服务后,您可以访问以下地址:
| 服务 | 地址 | 描述 |
|---|---|---|
| 📋 Swagger UI | http://localhost:8000/api/v1/docs | 交互式 API 文档 |
| 📚 ReDoc | http://localhost:8000/api/v1/redoc | 美观的 API 文档 |
| 👨💼 管理后台 | http://localhost:8000/admin | SQLAdmin 管理界面 |
| 🐰 RabbitMQ 管理 | http://localhost:15672 | 消息队列管理界面 用户名/密码: fastapi/fastapi |
# 运行所有测试
docker compose run web pytest# 运行测试并生成覆盖率数据
docker compose run web coverage run -m pytest# 在终端查看覆盖率报告
docker compose run web coverage report# 生成 HTML 格式的覆盖率报告
docker compose run web coverage html生成的 HTML 报告位于 /htmlcov 目录,您可以:
- 使用 VSCode 的 Live Server 扩展
- 访问 http://localhost:5500/htmlcov/ 查看详细的覆盖率报告
# 创建新的迁移文件
docker compose run web alembic revision --autogenerate -m "描述信息"
# 执行迁移(升级到最新版本)
docker compose run web alembic upgrade head
# 回滚到基础版本
docker compose run web alembic downgrade base
# 查看迁移历史
docker compose run web alembic history# 删除数据库(包括数据卷)
docker compose down -v
# 运行种子数据
docker compose run web python app/seeds.py# 在容器中执行任意命令
docker compose run web [您的命令]本项目使用 Ruff 进行代码格式化和质量检查:
# 检查代码质量
uv run lint
# 格式化代码
uv run format
# 自动修复代码问题
uv run lint-fix- 创建者: Gyy
- 创建时间: 2025年09月04日
- 技术栈: FastAPI + SQLModel + PostgreSQL + Redis + RabbitMQ + Docker
- 开发工具: UV + Ruff + Pytest + Coverage
欢迎提交 Issue 和 Pull Request 来改进这个项目!
本项目采用 MIT 许可证。