这是indexloc提供的服务,不要输入任何密码
Skip to content

victorxys/ExamBank

 
 

Repository files navigation

ExamBank - 企业级考试与财务管理系统

一个功能完整的题库考试系统财务管理平台,集考试管理、员工评价、培训内容管理、财务账单处理及合同管理为一体的企业级解决方案。

🎯 核心功能模块

📚 一、考试与题库管理系统

1.1 题库管理

  • 课程管理:创建、编辑、删除培训课程,支持课程分类与描述
  • 知识点管理:为课程建立分层知识点体系,便于组织试题
  • 题目库
    • 支持多种题型(单选题、多选题、问答题)
    • 难度评级(1-5级)
    • 选项管理(支持标记正确答案)
    • 答案解析与出处管理
    • 灵活的题目搜索与过滤

1.2 考卷管理

  • 考卷创建
    • 自由选择关联课程
    • 按知识点筛选试题
    • 按题型与数量自动抽取试题(支持随机组卷)
    • 自定义考卷标题和描述
  • 考卷编辑与查看:支持修改考卷基本信息和课程关联
  • 考卷删除:带有依赖检查,防止误删

1.3 在线考试功能

  • 自动保存
    • 用户答题进度自动暂存到临时答案表
    • 支持断点续考
    • 完整的作答历史记录
  • 考试提交
    • 智能评分(单选1分/题,多选2分/题)
    • 实时正确率计算
    • 知识点掌握度分析
    • 详细的答题报告生成
  • 考试记录
    • 用户个人考试历史查询
    • 管理员全局考试数据统计
    • 分权限展示(管理员查看全部,普通用户查看自己)
    • 按用户、时间、关键词搜索过滤

1.4 智能评分与分析

  • 知识点总结:基于Celery异步任务,调用LLM生成考试知识点掌握总结
  • 成绩统计
    • 总分、正确率、正确题数统计
    • 按题型分类统计(单选、多选正确/错误数)
    • 课程关联分析

👥 二、员工评价管理系统

2.1 评价体系设计

  • 分层评价结构
    • 评价方面(Aspect):顶层分类(如"工作能力"、"团队协作")
    • 评价类别(Category):二级分类,支持手动文字输入选项
    • 评价项(Item):具体评价指标,可设置客户可见性
    • 评分表(Detail):记录具体的评分值

2.2 多源评价支持

  • 内部员工评价:系统用户对被评价人的评分与意见
  • 客户评价:外部客户对服务人员的评价与反馈
  • 员工自评:员工自我评价记录
  • 灵活权限控制:支持指定评价项是否展示给客户

2.3 评价数据处理

  • 手动输入字段:部分评价类别支持文字补充说明
  • 补充评论:评价时的附加意见记录
  • 评价历史:完整的评价版本记录与更新日志
  • AI生成总结:集成LLM,自动生成员工工作总结和建议

2.4 数据查询与展示

  • 单个评价查询:获取分层结构的评价详情
  • 用户评价统计:汇总单个用户收到的所有评价
  • 对比分析:支持评价历史对比分析

🎓 三、培训内容与资源管理

3.1 课程资源管理

  • 资源上传
    • 支持多种媒体类型(视频、音频、文档)
    • MIME类型识别与验证
    • 文件大小与时长记录
    • 按课程组织资源
  • 资源排序:自定义资源显示顺序
  • 资源描述:详细的资源元数据管理

3.2 用户播放记录

  • 播放日志:记录用户每次播放的时间、时长、百分比
  • 会话管理:支持同一用户多个播放会话追踪
  • 事件类型:区分会话开始、心跳、会话结束等事件
  • 累计统计:资源总播放次数统计

3.3 权限管理

  • 课程访问权限:控制用户对指定课程的访问
  • 资源访问权限:细粒度的资源级权限控制
  • 时效性管理:资源访问权限可设置过期时间

3.4 内容处理工作流

  • 多阶段处理:pending → oral_processing → tts_refining → llm_refining → splitting → audio_generating → merging → completed
  • TTS脚本管理
    • 口语化脚本生成
    • TTS优化脚本
    • 最终TTS脚本版本管理
  • 句子级处理
    • 长文本自动拆分为句子
    • 单句音频生成与版本控制
    • 音频段合并与时间码管理
  • LLM集成
    • 口语化处理(Oral Processing)
    • 内容优化与修订
    • 员工总结生成

💰 四、财务与合同管理系统

4.1 合同管理

  • 多类型合同
    • 育儿嫂合同(年签/月签)
    • 月嫂合同(含定金管理)
    • 试工合同(带试工结果记录)
    • 外部替班合同
  • 合同生命周期
    • 制式合同管理(模板库)
    • 合同签署状态追踪(未签署 → 待签署 → 已签署 → 生效 → 终止)
    • 数字签名与签署令牌(客户/员工分别签署)
    • 合同续约与变更管理
  • 财务条款管理
    • 管理费配置(固定金额或百分比)
    • 保证金管理
    • 介绍费记录
    • 自动续签设置

4.2 账单管理系统

  • 客户账单

    • 按周期生成(月度/自定义周期)
    • 包含服务天数、管理费、加班费等计算
    • 多类型调整项支持(增款、减款、优惠、冲抵等)
    • 发票开具记录
  • 员工薪酬单

    • 基于合同自动生成
    • 支持多种调整项(提成、奖金、扣款等)
    • 支付记录与追踪
    • 分账管理(公司代付/客户直付)

4.3 财务调整项系统

  • 客户侧调整

    • 客户增款/减款
    • 客户优惠
    • 定金管理
    • 客户直付员工(公司核销)
  • 员工侧调整

    • 员工增款/减款
    • 员工佣金/返点
    • 冲抵转移
    • 替班管理费
    • 保证金支付工资
  • 状态追踪

    • 待处理 → 已结账 → 已支付
    • 结算日期与方式记录
    • 支付凭证与备注

4.4 替班管理

  • 替班记录
    • 记录替班人员、时间、薪资
    • 自动计算替班费用与管理费
    • 加班天数统计
  • 账单与薪酬关联
    • 生成独立的替班账单和薪酬单
    • 与原始合同账单关联

4.5 银行流水对账

  • 流水导入与解析

    • 支持结构化银行对账单导入
    • 自动识别交易方向(收入/支出)
    • 交易金额、时间、摘要提取
  • 智能匹配

    • 按付款人名称匹配合同与客户
    • 按收款人别名识别员工
    • 支持多笔流水分配到单张账单
    • 部分分配支持
  • 对账管理

    • 未匹配 → 部分分配 → 完全分配状态追踪
    • 永久忽略名单维护
    • 对账错误处理与备注
    • 对账数据导出与报告

4.6 财务报表

  • 月度结算单

    • 按客户、年月聚合
    • 客户应付总额、已付金额
    • 结算状态追踪
    • 关联多张详细账单
  • 财务活动日志

    • 记录所有账单、薪酬操作
    • 追踪修改历史与操作员
    • 变更详情记录

🔐 五、用户与权限管理

5.1 用户系统

  • 用户类型

    • 系统用户(Teacher/Admin/Student)
    • 外部服务人员(月嫂/育儿嫂等)
    • 客户信息(消费客户)
  • 用户属性

    • 身份证号同步
    • 拼音搜索支持(姓名拼音存储)
    • 用户状态管理(活跃/停用)
    • 个人档案与详细信息
  • 认证与授权

    • JWT Token(30天有效期)
    • Cookie与Header支持
    • 基于角色的访问控制(RBAC)
    • 跨系统API认证(X-API-Key)

5.2 权限体系

  • 课程权限:用户可访问课程的细粒度权限
  • 资源权限:用户对各类资源的访问权限与过期时间管理
  • 功能权限:根据角色限制特定功能(删除、编辑等)

🤖 六、AI与LLM集成

6.1 LLM配置管理

  • 模型管理

    • 支持多个LLM供应商(如Google Gemini)
    • 模型标识与状态管理
    • 版本控制
  • API密钥管理

    • 加密存储API密钥
    • 多源密钥配置
    • 密钥状态管理
  • Prompt模板

    • 预定义的Prompt模板(如知识点总结、员工总结)
    • 版本化管理
    • 模型关联配置

6.2 异步任务处理

  • Celery集成:后端异步任务队列

  • 任务类型

    • 知识点总结生成
    • 员工工作总结生成
    • 视频脚本生成
    • TTS音频生成
  • 任务追踪

    • Task ID记录
    • 执行状态监控
    • 错误处理与重试

6.3 LLM调用日志

  • 完整日志记录
    • 输入文本与输出结果
    • 使用的模型与Prompt
    • 执行时间与成功/失败状态
    • 用户与操作追踪

🔊 七、TTS文本转语音系统

7.1 TTS引擎集成

  • 多引擎支持:轮询式供应商池管理,故障自动切换
  • 音频生成
    • 单句音频生成
    • 音频合并处理
    • 格式与时长管理

7.2 音频资源管理

  • 存储管理

    • 相对路径存储
    • 文件大小与时长记录
    • 版本控制
  • 段落管理

    • 合并音频的段落标记
    • 原始句子映射
    • 播放时间码(ms精度)

🎬 八、视频合成系统

8.1 工作流

  • 输入处理

    • PDF → 图片转换
    • 音频与字幕准备
  • LLM分析

    • 根据PPT和音频生成视频脚本
    • 场景描述与转场建议
  • 视频生成

    • 合成最终视频资源
    • 预览图生成

8.2 状态管理

  • 待分析 → 分析完成 → 合成中 → 完成/错误

🏗️ 技术架构

后端技术栈

Framework: Flask + Flask-SQLAlchemy
Database: PostgreSQL (+ UUID + JSONB + Array支持)
Cache & Queue: Celery + Redis
ORM: SQLAlchemy 2.0 (支持Mixed Mode)
Authentication: Flask-JWT-Extended
API文档生成: Blueprint-based RESTful APIs

前端技术栈

Framework: React 18.2 + Vite
UI Components: Material-UI (MUI) v5
Charts: ApexCharts, Recharts
State: Context API
HTTP Client: Axios
工具库: Lodash, dayjs, date-fns
特殊功能: React Player, Wavesurfer.js, 拼音库

核心依赖

  • 后端

    • psycopg2:PostgreSQL驱动
    • python-dotenv:环境变量管理
    • pypinyin:拼音转换
    • celery:异步任务队列
    • Werkzeug & CORS:Web工具
  • 前端

    • react-router-dom:路由管理
    • react-markdown:Markdown渲染
    • jwt-decode:Token解析
    • weixin-js-sdk:微信分享集成

📊 数据库设计亮点

关键表结构

模块 核心表 说明
考试 exampaper, question, option, answer, answerrecord, exam 支持多题型、自动评分
评价 evaluation, evaluation_detail, evaluation_aspect/category/item 分层评价体系
财务 contracts, customer_bills, employee_payrolls, financial_adjustments 完整的账单与薪酬管理
合同 多态表(BaseContract子类) 支持多类型合同
媒体 course_resource, tts_audio, merged_audio_segment 完整的资源与音频管理
对账 bank_transactions, payment_records, payer_aliases 银行流水智能对账

性能优化

  • 关键查询字段索引
  • 复合索引支持高效JOIN
  • UUID主键支持分布式
  • JSONB字段支持灵活数据结构

🚀 快速开始

环境配置

# 后端
cd backend
pip install -r requirements.txt
export FLASK_APP=app.py
flask db upgrade

# 前端
cd frontend
npm install
npm run dev

配置文件

# .env
DATABASE_URL=postgresql://user:password@localhost/exambank
SECRET_KEY=your-secret-key
JWT_SECRET_KEY=your-jwt-secret
BACKEND_BASE_URL=http://localhost:5001
FRONTEND_BASE_URL=http://localhost:5175

启动服务

# 后端Flask应用
python backend/app.py

# Celery Worker(支持异步任务)
celery -A backend.tasks worker --loglevel=info

# 前端开发服务器
npm run dev

📋 核心API路由汇总

考试模块

  • POST /api/courses:创建课程
  • GET/PUT/DELETE /api/courses/<id>:课程管理
  • POST /api/knowledge-points:创建知识点
  • GET/PUT/DELETE /api/knowledge-points/<id>:知识点管理
  • GET /api/questions:题目搜索
  • POST /api/questions:创建题目
  • POST /api/exams:创建考卷
  • GET /api/exams/<id>/take:获取考卷(考试模式)
  • POST /api/exams/<id>/submit:提交答卷
  • GET /api/exam-records:查询考试记录

评价模块

  • GET /api/evaluation/structure:评价体系结构
  • POST/GET/PUT/DELETE /api/evaluation/<id>:评价管理
  • POST /api/ai-generate:AI生成评价总结

财务模块

  • POST /api/billing/*:账单管理
  • POST /api/contracts/*:合同管理
  • GET /api/bank-statements/*:对账单查询
  • POST /api/financial-adjustments/*:财务调整
  • GET /api/payment-records/*:支付记录

资源模块

  • GET/POST /api/course-resources:课程资源管理
  • POST /api/tts/*:TTS音频生成
  • GET /api/users/<id>/profile:用户档案

🔍 关键特性

智能考试系统:自动组卷、实时评分、知识点分析
完整财务管理:账单自动生成、对账、多维度数据分析
灵活评价体系:分层结构、多源评价、AI总结生成
媒体资源管理:TTS转音频、视频合成、权限控制
企业级安全:JWT认证、权限隔离、审计日志
高性能架构:异步任务处理、数据库优化、缓存策略


📝 开发规范

  • 代码风格:Ruff (Python), ESLint (JavaScript)
  • 提交钩子:Husky预提交检查
  • 分支管理:Git工作流
  • API设计:RESTful风格,JSON格式

📄 许可证

ISC License


最后更新:2025年11月17日
项目地址github.com/victorxys/ExamBank

About

题库及在线考试

Resources

Stars

Watchers

Forks

Packages

No packages published