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

文章目录

    帮一位老客户开发了一套在线版的题库管理系统,支持 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 聊聊,或者关注我的个人公众号“大象工具”, 查看更多联系方式