全栈管理平台 — Python/FastAPI 后端 + Vue 3/TypeScript 前端,Docker 一键部署。
| 层 | 技术 |
|---|---|
| 后端 | Python 3.13+ / FastAPI / SQLModel / PostgreSQL |
| 前端 | Vue 3 + TypeScript + Vite + Element Plus + Tailwind CSS 4 |
| 部署 | Docker 多阶段构建 + nginx 反向代理 |
cd backend
cp ../.env.example ../.env # 编辑 .env 配置数据库等
uv sync
uv run python main.py # 监听 http://localhost:7001
cd frontend
bun install
bun dev # 监听 http://localhost:7000
开发模式下前端 /api 请求自动代理到后端。
# 后端
cd backend && uv run pytest # 测试
cd backend && uv run pylint app/ # 代码检查
# 前端
cd frontend && bun run typecheck # TS + Vue 类型检查
cd frontend && bun run lint # ESLint + Prettier + Stylelint
docker pull docker.cnb.cool/pylover/pytool
docker compose up -d
访问:
docker compose down # 停止
docker compose logs -f # 查看日志
docker run -d \
--name pytool-app \
-p 80:80 \
-p 7001:7001 \
docker.cnb.cool/pylover/pytool
# 数据库
DB_SCHEME=postgresql
DB_SERVER=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=your_password
# QQ 登录(可选)
QQ_APP_ID=your_qq_app_id
QQ_APP_KEY=your_qq_app_key
QQ_REDIRECT_URI=http://localhost:7000/login/qq/callback
QQ/微信登录也可通过系统设置 → 登录设置页面在线配置,无需重启。
adminadmin123456├── backend/ # FastAPI 后端(端口 7001)
│ ├── app/api/v1/ # API 路由
│ ├── app/models/ # SQLModel 数据模型
│ ├── app/settings/ # 配置(Pydantic + INI)
│ └── app/utils/ # JWT、密码、QQ/微信 OAuth
├── frontend/ # Vue 3 前端(端口 80)
│ ├── src/views/ # 页面(登录、系统管理、监控、设置)
│ ├── src/api/ # API 调用封装
│ └── locales/ # 国际化文案
├── docs/ # VitePress 文档站点
├── Dockerfile # 多阶段构建
├── nginx.conf # 前端代理 /api → 后端
└── docker-compose.yml