collector-backend/README.md
tangweijie 00db791f91 feat: 初始化 Python 后端项目结构
- FastAPI 应用框架
- SQLAlchemy 异步数据库
- 事件采集和分析 API
- Alembic 数据库迁移
- Docker 部署配置
- 完整的项目文档
2026-01-05 18:08:25 +08:00

3.3 KiB

Collector Backend

数据采集后端服务 - Python FastAPI 实现

项目介绍

Collector Backend 是 IDE 数据采集系统的后端服务,负责接收、存储和分析来自各 IDE 插件的数据。

技术栈

  • 框架: FastAPI
  • 数据库: PostgreSQL + SQLAlchemy (async)
  • 缓存: Redis
  • 数据库迁移: Alembic
  • 包管理: Poetry

快速开始

环境要求

  • Python 3.11+
  • PostgreSQL 14+
  • Redis 7+
  • Poetry

安装

# 安装依赖
poetry install

# 复制环境配置
cp .env.example .env

# 编辑 .env 配置数据库等信息

数据库迁移

# 生成迁移
poetry run alembic revision --autogenerate -m "Initial migration"

# 执行迁移
poetry run alembic upgrade head

运行

# 开发模式
poetry run uvicorn src.main:app --reload --port 8000

# 生产模式
poetry run uvicorn src.main:app --host 0.0.0.0 --port 8000

Docker 运行

# 启动所有服务
docker-compose up -d

# 查看日志
docker-compose logs -f app

API 文档

启动服务后访问:

API 端点

健康检查

  • GET /api/v1/health - 健康检查
  • GET /api/v1/health/db - 数据库健康检查

事件管理

  • POST /api/v1/events - 创建单个事件
  • POST /api/v1/events/batch - 批量创建事件
  • GET /api/v1/events - 查询事件列表
  • GET /api/v1/events/{event_id} - 获取单个事件

数据分析

  • GET /api/v1/analytics/overview - 概览统计
  • GET /api/v1/analytics/acceptance-rate - 采纳率统计
  • GET /api/v1/analytics/token-usage - Token使用统计
  • GET /api/v1/analytics/user-activity - 用户活动统计

配置管理

  • GET /api/v1/config - 获取客户端配置

项目结构

collector-backend/
├── src/
│   ├── api/
│   │   └── v1/
│   │       ├── events.py      # 事件API
│   │       ├── analytics.py   # 分析API
│   │       ├── config.py      # 配置API
│   │       └── health.py      # 健康检查
│   ├── config/
│   │   ├── settings.py        # 配置管理
│   │   └── database.py        # 数据库配置
│   ├── models/
│   │   ├── event.py           # 事件模型
│   │   └── user.py            # 用户模型
│   ├── schemas/
│   │   ├── event.py           # 事件Schema
│   │   └── analytics.py       # 分析Schema
│   ├── services/
│   │   ├── event_processor.py # 事件处理
│   │   └── analytics_engine.py # 分析引擎
│   └── main.py                # 应用入口
├── migrations/                 # 数据库迁移
├── tests/                      # 测试
├── pyproject.toml             # 项目配置
├── docker-compose.yml         # Docker配置
└── README.md

开发

代码格式化

# 格式化代码
poetry run black src tests
poetry run isort src tests

# 代码检查
poetry run ruff check src tests
poetry run mypy src

运行测试

poetry run pytest
poetry run pytest --cov=src

相关仓库

许可证

MIT License