一个功能完整的题库考试系统与财务管理平台,集考试管理、员工评价、培训内容管理、财务账单处理及合同管理为一体的企业级解决方案。
- 课程管理:创建、编辑、删除培训课程,支持课程分类与描述
- 知识点管理:为课程建立分层知识点体系,便于组织试题
- 题目库:
- 支持多种题型(单选题、多选题、问答题)
- 难度评级(1-5级)
- 选项管理(支持标记正确答案)
- 答案解析与出处管理
- 灵活的题目搜索与过滤
- 考卷创建:
- 自由选择关联课程
- 按知识点筛选试题
- 按题型与数量自动抽取试题(支持随机组卷)
- 自定义考卷标题和描述
- 考卷编辑与查看:支持修改考卷基本信息和课程关联
- 考卷删除:带有依赖检查,防止误删
- 自动保存:
- 用户答题进度自动暂存到临时答案表
- 支持断点续考
- 完整的作答历史记录
- 考试提交:
- 智能评分(单选1分/题,多选2分/题)
- 实时正确率计算
- 知识点掌握度分析
- 详细的答题报告生成
- 考试记录:
- 用户个人考试历史查询
- 管理员全局考试数据统计
- 分权限展示(管理员查看全部,普通用户查看自己)
- 按用户、时间、关键词搜索过滤
- 知识点总结:基于Celery异步任务,调用LLM生成考试知识点掌握总结
- 成绩统计:
- 总分、正确率、正确题数统计
- 按题型分类统计(单选、多选正确/错误数)
- 课程关联分析
- 分层评价结构:
- 评价方面(Aspect):顶层分类(如"工作能力"、"团队协作")
- 评价类别(Category):二级分类,支持手动文字输入选项
- 评价项(Item):具体评价指标,可设置客户可见性
- 评分表(Detail):记录具体的评分值
- 内部员工评价:系统用户对被评价人的评分与意见
- 客户评价:外部客户对服务人员的评价与反馈
- 员工自评:员工自我评价记录
- 灵活权限控制:支持指定评价项是否展示给客户
- 手动输入字段:部分评价类别支持文字补充说明
- 补充评论:评价时的附加意见记录
- 评价历史:完整的评价版本记录与更新日志
- AI生成总结:集成LLM,自动生成员工工作总结和建议
- 单个评价查询:获取分层结构的评价详情
- 用户评价统计:汇总单个用户收到的所有评价
- 对比分析:支持评价历史对比分析
- 资源上传:
- 支持多种媒体类型(视频、音频、文档)
- MIME类型识别与验证
- 文件大小与时长记录
- 按课程组织资源
- 资源排序:自定义资源显示顺序
- 资源描述:详细的资源元数据管理
- 播放日志:记录用户每次播放的时间、时长、百分比
- 会话管理:支持同一用户多个播放会话追踪
- 事件类型:区分会话开始、心跳、会话结束等事件
- 累计统计:资源总播放次数统计
- 课程访问权限:控制用户对指定课程的访问
- 资源访问权限:细粒度的资源级权限控制
- 时效性管理:资源访问权限可设置过期时间
- 多阶段处理:pending → oral_processing → tts_refining → llm_refining → splitting → audio_generating → merging → completed
- TTS脚本管理:
- 口语化脚本生成
- TTS优化脚本
- 最终TTS脚本版本管理
- 句子级处理:
- 长文本自动拆分为句子
- 单句音频生成与版本控制
- 音频段合并与时间码管理
- LLM集成:
- 口语化处理(Oral Processing)
- 内容优化与修订
- 员工总结生成
- 多类型合同:
- 育儿嫂合同(年签/月签)
- 月嫂合同(含定金管理)
- 试工合同(带试工结果记录)
- 外部替班合同
- 合同生命周期:
- 制式合同管理(模板库)
- 合同签署状态追踪(未签署 → 待签署 → 已签署 → 生效 → 终止)
- 数字签名与签署令牌(客户/员工分别签署)
- 合同续约与变更管理
- 财务条款管理:
- 管理费配置(固定金额或百分比)
- 保证金管理
- 介绍费记录
- 自动续签设置
-
客户账单:
- 按周期生成(月度/自定义周期)
- 包含服务天数、管理费、加班费等计算
- 多类型调整项支持(增款、减款、优惠、冲抵等)
- 发票开具记录
-
员工薪酬单:
- 基于合同自动生成
- 支持多种调整项(提成、奖金、扣款等)
- 支付记录与追踪
- 分账管理(公司代付/客户直付)
-
客户侧调整:
- 客户增款/减款
- 客户优惠
- 定金管理
- 客户直付员工(公司核销)
-
员工侧调整:
- 员工增款/减款
- 员工佣金/返点
- 冲抵转移
- 替班管理费
- 保证金支付工资
-
状态追踪:
- 待处理 → 已结账 → 已支付
- 结算日期与方式记录
- 支付凭证与备注
- 替班记录:
- 记录替班人员、时间、薪资
- 自动计算替班费用与管理费
- 加班天数统计
- 账单与薪酬关联:
- 生成独立的替班账单和薪酬单
- 与原始合同账单关联
-
流水导入与解析:
- 支持结构化银行对账单导入
- 自动识别交易方向(收入/支出)
- 交易金额、时间、摘要提取
-
智能匹配:
- 按付款人名称匹配合同与客户
- 按收款人别名识别员工
- 支持多笔流水分配到单张账单
- 部分分配支持
-
对账管理:
- 未匹配 → 部分分配 → 完全分配状态追踪
- 永久忽略名单维护
- 对账错误处理与备注
- 对账数据导出与报告
-
月度结算单:
- 按客户、年月聚合
- 客户应付总额、已付金额
- 结算状态追踪
- 关联多张详细账单
-
财务活动日志:
- 记录所有账单、薪酬操作
- 追踪修改历史与操作员
- 变更详情记录
-
用户类型:
- 系统用户(Teacher/Admin/Student)
- 外部服务人员(月嫂/育儿嫂等)
- 客户信息(消费客户)
-
用户属性:
- 身份证号同步
- 拼音搜索支持(姓名拼音存储)
- 用户状态管理(活跃/停用)
- 个人档案与详细信息
-
认证与授权:
- JWT Token(30天有效期)
- Cookie与Header支持
- 基于角色的访问控制(RBAC)
- 跨系统API认证(X-API-Key)
- 课程权限:用户可访问课程的细粒度权限
- 资源权限:用户对各类资源的访问权限与过期时间管理
- 功能权限:根据角色限制特定功能(删除、编辑等)
-
模型管理:
- 支持多个LLM供应商(如Google Gemini)
- 模型标识与状态管理
- 版本控制
-
API密钥管理:
- 加密存储API密钥
- 多源密钥配置
- 密钥状态管理
-
Prompt模板:
- 预定义的Prompt模板(如知识点总结、员工总结)
- 版本化管理
- 模型关联配置
-
Celery集成:后端异步任务队列
-
任务类型:
- 知识点总结生成
- 员工工作总结生成
- 视频脚本生成
- TTS音频生成
-
任务追踪:
- Task ID记录
- 执行状态监控
- 错误处理与重试
- 完整日志记录:
- 输入文本与输出结果
- 使用的模型与Prompt
- 执行时间与成功/失败状态
- 用户与操作追踪
- 多引擎支持:轮询式供应商池管理,故障自动切换
- 音频生成:
- 单句音频生成
- 音频合并处理
- 格式与时长管理
-
存储管理:
- 相对路径存储
- 文件大小与时长记录
- 版本控制
-
段落管理:
- 合并音频的段落标记
- 原始句子映射
- 播放时间码(ms精度)
-
输入处理:
- PDF → 图片转换
- 音频与字幕准备
-
LLM分析:
- 根据PPT和音频生成视频脚本
- 场景描述与转场建议
-
视频生成:
- 合成最终视频资源
- 预览图生成
- 待分析 → 分析完成 → 合成中 → 完成/错误
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 devPOST /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