ChemExam · 教学工具开发

化工原理智能组卷系统

面向高校教师开发 React/Electron + FastAPI 命题平台,打通多源题库导入、公式与插图编辑、约束组卷和 LaTeX/PDF 导出,发布 Windows 安装包并实现升级前备份。

项目周期
2026 — 至今
承担工作
产品规划与全栈开发 · AI 辅助
交付形态
Windows 桌面应用

项目背景

化工原理试题包含公式、单位、计算过程和设备示意图,教师收集的材料又常分散在 Word、Excel、PDF 和图片中。项目围绕“材料整理—人工审题—组卷—排版导出”设计统一工作台,让题目能够按课程、章节和知识点持续维护。

我的工作

  • 梳理教师从录题、校对、蓝图配置到导出交接的流程,设计桌面工作台与题库数据结构。
  • 通过 AI 辅助开发推进 React/Electron 前端与 FastAPI 后端实现、联调和问题排查,处理公式、插图、课程目录与导入草稿。
  • 实现组卷约束预检、题目筛选、质量报告与 A/B 卷比较,把分值、题型、章节和难度要求转为可检查的规则。
  • 维护自动化回归、数据库迁移、Windows 打包与升级前备份,并编写教师维护及系统交接文档。

核心实现

01

多源导入与人工校对

支持 Word、Excel、CSV、文本、Markdown、PDF 和图片来源,先解析为结构化草稿,再校对题型、分值、答案及知识点后入库。课程大纲可整理为章节与知识点目录,并继续拖拽调整。

02

公式与插图编辑

使用 MathLive 与 KaTeX 处理公式输入和显示;插图支持裁剪、旋转、图形与公式标注。编辑结果同时保存 PNG 和可继续修改的场景,试卷内的图片调整与原题库版本分开保存。

03

蓝图约束与组卷诊断

按题型数量、分值、章节、难度和必含知识点配置命题蓝图。生成前检查可用题量与约束冲突,生成后展示覆盖和分值分布;A/B 卷可比较重复题、知识点及题型差异。

04

预览、排版与导出

提供应用内 HTML 预览,并通过 Jinja2 模板生成 LaTeX,调用 XeLaTeX/latexmk 输出 PDF。题干、选项、答案、评分与插图布局进入同一导出流程,题库还可单独导出 Excel。

技术栈与工程实现

桌面与交互
React · TypeScript · Electron · Vite · MathLive · KaTeX
后端与数据
Python · FastAPI · Pydantic · SQLAlchemy · SQLite · Alembic
文档处理
结构化文档解析 · 本地 OCR · Jinja2 · LaTeX/PDF
验证与发布
pytest · Vitest · PyInstaller · electron-builder / NSIS · electron-updater

阶段成果

  • 2026 年 9 月 9 日公开发布 Windows 正式版 1.0(v1.1.0),具备题库维护、导入、组卷、预览、导出和备份的基础流程。
  • 桌面程序内置本地后端,题库和设置保存在独立用户数据目录;自动更新前备份并校验数据库与题目图片。PDF 编译需配置 XeLaTeX/latexmk。
  • 持续迭代课程大纲混合导入、拖拽校对和 OCR 稳定性;多人协同命题仍在完善,暂不作为正式交付能力。