Skip to content

lirhcoder/GBase-user-analyze

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GBase用户分析系统 - 多产品通用平台

支持多款产品的用户分析平台,基于用户邮箱后缀进行用户类型分类和使用情况分析。

支持的产品

  • GBase - 主力产品,支持Bot和消息分析
  • GBase Support - 客服支持产品,支持工单和响应时间分析
  • Felo Subtitles - 字幕生成产品,支持字幕和翻译分析
  • GBase GTM - Go-to-Market产品,支持营销活动和转化分析

功能特性

1. 用户类型分类(基于邮箱后缀)

  • 个人用户: gmail.com, qq.com, 163.com等免费邮箱
  • 企业用户: 公司域名邮箱
  • 教育机构: .edu, .edu.cn等教育域名
  • 政府机关: .gov, .gov.cn等政府域名
  • 非营利组织: .org等非营利域名

2. 用户活跃度分析

  • 注册时间分析
  • 最后活跃时间分析
  • 各时间窗口活跃用户统计(今日、7天、30天、90天等)
  • 用户留存率分析
  • 月度注册趋势

3. 使用情况分析

  • Bot数量统计
  • 消息数量统计
  • 存储容量使用统计
  • 重度用户和轻度用户识别
  • 各用户类型使用情况对比

4. 多产品管理功能

  • 多产品概览 - 所有产品的整体数据展示
  • 单产品分析 - 针对特定产品的深度分析
  • 产品对比分析 - 多个产品间的横向对比
  • 跨产品用户分析 - 识别使用多个产品的用户
  • 产品健康度评分 - 基于多维指标的产品健康评估

5. 数据可视化Dashboard

  • 三种视图模式:多产品概览、单产品分析、产品对比
  • 产品选择器 - 快速切换和过滤产品数据
  • 交互式图表 - 饼图、柱状图、折线图、雷达图
  • 实时数据更新 - 支持产品数据的动态刷新
  • 响应式设计 - 适配不同屏幕尺寸

项目结构

GBase-user-analyze/
├── backend/                 # 后端API服务
│   ├── models/             # 数据模型
│   │   └── productModel.js         # 产品配置模型
│   ├── utils/              # 工具模块
│   │   ├── userTypeClassifier.js   # 用户类型分类
│   │   ├── timeAnalyzer.js         # 时间分析工具
│   │   ├── usageAnalyzer.js        # 使用情况分析
│   │   └── multiProductAnalyzer.js # 多产品分析工具
│   ├── server.js           # 主服务器文件
│   ├── package.json        # 后端依赖
│   └── .env.example        # 环境变量示例
├── frontend/               # 前端Dashboard
│   ├── src/
│   │   ├── components/     # React组件
│   │   │   ├── ProductSelector.js      # 产品选择器
│   │   │   ├── MultiProductOverview.js # 多产品概览
│   │   │   └── ProductComparison.js    # 产品对比
│   │   ├── App.js          # 主应用组件
│   │   ├── index.js        # 入口文件
│   │   └── index.css       # 样式文件
│   ├── public/
│   │   └── index.html      # HTML模板
│   └── package.json        # 前端依赖
├── package.json            # 根目录脚本
└── README.md              # 项目说明

安装和运行

环境要求

  • Node.js >= 16.0.0
  • npm >= 8.0.0

1. 安装依赖

# 安装所有依赖(根目录、前端、后端)
npm run install-all

# 或者分别安装
npm install
cd backend && npm install
cd ../frontend && npm install

2. 启动开发服务器

# 同时启动前端和后端服务
npm run dev

# 或者分别启动
npm run server  # 启动后端 (端口3001)
npm run client  # 启动前端 (端口3000)

3. 访问应用

API接口

产品管理API

  • GET /api/products - 获取所有产品列表
  • GET /api/product-categories - 获取产品分类

多产品分析API

  • GET /api/multi-product-overview - 多产品概览数据
  • GET /api/product-comparison?products=id1,id2 - 产品对比数据
  • GET /api/user-overlap - 用户重叠分析
  • GET /api/product-health - 产品健康度评分

单产品分析API(支持产品过滤)

  • GET /api/overview?product=productId - 总体概览数据
  • GET /api/user-types?product=productId - 用户类型分布
  • GET /api/user-activity?product=productId - 用户活跃度统计
  • GET /api/user-retention?product=productId - 用户留存统计
  • GET /api/user-usage?product=productId - 用户使用情况分析
  • GET /api/usage-by-type?product=productId - 按类型的使用情况
  • GET /api/monthly-trend?product=productId - 月度趋势

数据管理API

  • GET /api/users - 获取所有用户数据
  • POST /api/users - 添加用户数据

API响应格式

{
  "success": true,
  "data": {
    // 响应数据
  }
}

示例数据

系统包含多产品示例用户数据用于演示:

// GBase产品用户
{
  id: 1,
  email: 'user1@gmail.com',
  productId: 'gbase',
  registeredTime: '2024-01-15',
  lastActiveTime: '2024-08-09', 
  botCount: 3,
  messageCount: 1250,
  storageUsed: 150
}

// GBase Support产品用户
{
  id: 4,
  email: 'support1@company.com',
  productId: 'gbase-support',
  registeredTime: '2024-03-15',
  lastActiveTime: '2024-08-09',
  ticketCount: 45,
  responseTime: 2.5,
  satisfactionScore: 4.2
}

产品配置

系统支持灵活的产品配置,每个产品包含:

  • 产品标识和显示名称
  • 产品类别(核心、支持、媒体、营销)
  • 主要指标配置
  • 产品颜色主题

技术栈

后端

  • Node.js + Express.js
  • 数据分析工具模块
  • Moment.js (时间处理)
  • CORS支持

前端

  • React 18
  • Recharts (图表库)
  • Ant Design (UI组件)
  • Axios (HTTP客户端)

扩展功能

数据库集成

项目预留了MongoDB和PostgreSQL的配置接口,可根据需要连接真实数据库。

实时数据更新

可以集成WebSocket实现实时数据更新。

更多分析维度

  • 地理位置分析
  • 设备类型分析
  • 行为路径分析
  • 付费用户分析

开发说明

添加新产品

  1. backend/models/productModel.js 中添加新产品配置
  2. 更新用户数据模型包含新产品的特定指标
  3. 根据需要在前端添加产品特定的分析组件

添加新的用户类型分类

backend/utils/userTypeClassifier.js 中添加新的邮箱后缀规则。

添加新的分析维度

  1. 在相应的分析工具中添加新的分析逻辑
  2. 更新API端点返回新的数据字段
  3. 在前端添加新的图表组件展示数据

自定义产品指标

每个产品可以配置不同的主要和次要指标,系统会根据产品配置动态展示相应的分析图表。

许可证

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors