题库管理系统,支持 OCR 图片文字识别

更新日期: 2023-04-04 阅读次数: 1713 字数: 387 分类: 工具

帮一位老客户开发了一套在线版的题库管理系统,支持 OCR 图片文字识别。

功能清单

  • 上传图片进行 OCR 文字识别, 自动解析题目,基于百度 API
  • 自动解析答案。判断最后一行,解析
  • 能保存识别的历史,可以编辑,删除
  • 搜索功能。通过输入关键字查询题库
  • 字段包括:科目名称,正确答案,答案状态(确定/不确定),图片,图片解析内容,
  • 可以编辑/展示答案状态
  • 可以导出/并下载题库。支持按不同科目导出
  • 支持多个账号登录题库系统。每个账号可以禁用,使用次数限制。类似一个计费系统。这里需要一个角色的概念,以及记录使用次数的概念。
  • 一键删除题库及图片。只有超级管理员可以点击。同时清理导出文件
  • 批量上传图片,进行试题图片识别
  • 对百度 API 接口调用进行限速可控
  • 支持按照指定列重新排序
  • 用户间上传的题目,互不可见。
  • admin 管理员可以看到所有人上传的题目
  • 用户可以看到管理员上传的题目

主要功能截图

服务器配置

腾讯云 2 核 2G 内存的云服务器,3M 带宽。一年资费在 280。

操作系统:Ubuntu Server 18.04

技术架构

  • 前端:React / Ant Design Pro
  • 后台: Golang Gin / MySQL / Nginx

TODO

  • [X] question 表增加字段 user_id,代表是谁上传的
  • [X] alter table sql
  • [X] 备份新的建表 sql
  • [X] 修改 go model 增加 user_id
  • [X] 上传逻辑修改,保存用户 id
  • [X] 修改 go controller 拉取逻辑代码
  • [X] 线上改表
  • [X] 线上历史数据的 user_id 设置为 admin 的 id

alter sql

ALTER TABLE `ocr`.`question`
ADD COLUMN `user_id` INT NULL DEFAULT 0 AFTER `answer_status`,
ADD INDEX `ix_uid` (`user_id` ASC) VISIBLE;

关于作者 🌱

我是来自山东烟台的一名开发者,有敢兴趣的话题,或者软件开发需求,欢迎加微信 zhongwei 聊聊, 查看更多联系方式