{"id":13846192,"url":"https://github.com/lsgwr/spring-boot-online-exam","last_synced_at":"2025-05-15T20:03:33.116Z","repository":{"id":40628623,"uuid":"126062310","full_name":"lsgwr/spring-boot-online-exam","owner":"lsgwr","description":"基于Spring Boot的在线考试系统(预览地址 http://129.211.88.191 ，账户分别是admin、teacher、student，密码是admin123)，也有Python实现","archived":false,"fork":false,"pushed_at":"2023-08-30T08:32:04.000Z","size":3537,"stargazers_count":1596,"open_issues_count":27,"forks_count":564,"subscribers_count":38,"default_branch":"master","last_synced_at":"2025-05-09T08:03:21.128Z","etag":null,"topics":["exam","spring","springboot","vue","web"],"latest_commit_sha":null,"homepage":"https://gitee.com/lsgwr/spring-boot-online-exam","language":"Vue","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lsgwr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-20T18:10:31.000Z","updated_at":"2025-05-07T02:00:24.000Z","dependencies_parsed_at":"2024-05-30T10:28:15.939Z","dependency_job_id":"aa2b5e23-c27e-480b-8d08-e11c63f46bf6","html_url":"https://github.com/lsgwr/spring-boot-online-exam","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsgwr%2Fspring-boot-online-exam","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsgwr%2Fspring-boot-online-exam/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsgwr%2Fspring-boot-online-exam/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lsgwr%2Fspring-boot-online-exam/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lsgwr","download_url":"https://codeload.github.com/lsgwr/spring-boot-online-exam/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254404356,"owners_count":22065641,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["exam","spring","springboot","vue","web"],"created_at":"2024-08-04T17:04:35.638Z","updated_at":"2025-05-15T20:03:31.089Z","avatar_url":"https://github.com/lsgwr.png","language":"Vue","funding_links":[],"categories":["Vue"],"sub_categories":[],"readme":"# spring-boot-online-exam\n\n\u003e 在线Demo预览，http://129.211.88.191 ，账户分别是admin、teacher、student，密码是admin123。视频讲解代码：https://www.bilibili.com/video/BV1FP4y1L7xt/\n\n\u003e 好消息！！！一个小伙伴做了Python实现，欢迎大家star：https://github.com/xingxingzaixian/django-drf-online-exam\n\n## 1.快速体验\n### 1.1 事先准备\n\u003e clone代码并进入代码路径\n\n```shell\ngit clone git@github.com:lsgwr/spring-boot-online-exam.git\ncd spring-boot-online-exam\n```\n\n下面按照Linux和windows说明快速搭建的方法\n### 1.2 Linux\n执行代码下的脚本start.sh即可\n\n然后访问 http://ip:80 即可访问自己搭建的考试系统\n\n### 1.3 windows\n+ 1.安装JDK，推荐JDK8\n+ 2.从官方仓库下载发布的jar包，建议选择最新版：https://github.com/lsgwr/spring-boot-online-exam/releases\n+ 3.安装MySQL，创建数据库exam，并初始化密码为aA111111，导入doc/sql/exam.sql文件来创建数据库\n+ 4.启动jar包：`java -jar exam.jar`\n+ 5.访问：http://ip:9527 即可访问自己搭建的考试系统\n\n## 2.介绍\n基于springboot的在线考试系统\n\n### 2.1 功能简介\n\n+ 支持单选题、多选题、判断题\n+ 支持学生(student)、教师(teacher)、管理员(admin)三种角色\n  + 学生：参加考试和查看我的考试\n  + 教师：学生的所有权限+创建/编辑题目+创建/编辑考试\n  + 管理员：教师的所有权限+管理用户\n\n### 2.3 软件架构\n\n\u003e 前后端分离，前段组件化，方便二次开发；后端\n\n+ 后端采用SpringBoot+JPA++Swagger2+JWT校验,根据不同用户的权限返回给用户不同的数据\n+ 后端采用Vue+AntDesign,组件化拆分，封装了很多年公共组件，方便维护和二次开发\n\n### 2.3 使用教程\n\n+ 1.下载代码\n  ```shell\n  git clone https://github.com/19920625lsg/spring-boot-online-exam.git\n  ```\n+ 2.初始化数据库\n  \u003e 安装mysql的步骤这里省略，网上的教程很多。安装好mysql后，新建exam数据库，密码和`spring-boot-online-exam/backend/exam/src/main/resources/application.yml`的`password: xxxxxx`保持一致，然后导入`spring-boot-online-exam/doc/sql/exam.sql`\n+ 3.启动后端\n  \u003e 打开`spring-boot-online-exam/backend/exam`这个Maven项目，可以在IDE里启动或者执行`mvn install`生成jar包启动\n+ 4.启动前端\n  + 进入到前端代码路径 `cd spring-boot-online-exam/frontend/exam/`\n  + 安装依赖 `npm install`\n  + 启动前端 `npm run serve`\n+ 5.部署完毕，查看效果\n  \u003e 打开 http://localhost:8000 或者 http://本机ip:8000 即可查看演示效果\n\n## 3.功能图示\n\n+ 1.管理题目\n  + 1.1 题目列表\n    \u003e ![题目查看](doc/images/question_list.png)\n  + 1.2 题目创建\n    \u003e ![题目创建](doc/images/question_create.png)\n  + 1.3 题目更新\n    \u003e ![题目更新](doc/images/question_update.png)\n+ 2.考试管理\n  + 2.1 考试列表\n    \u003e ![考试查看](doc/images/exam_list.png)\n  + 2.2 考试创建\n    \u003e ![考试创建](doc/images/exam_create.png)\n  + 2.3 考试更新(`还有点小bug，开发中`)\n    \u003e ![考试更新](doc/images/exam_update.png)\n+ 3.我的考试\n  + 3.1 参加考试\n    \u003e 在\"考试列表\"模块点击自己想参加的考试卡片即可\n    \u003e ![参加考试1](doc/images/exam_join.png)\n    \u003e ![参加考试2](doc/images/exam_join2.png)\n  + 3.2 考试记录查看\n    \u003e ![考试记录查看](doc/images/exam_detail.png)\n\n## 4.参与贡献\n\n1.  Fork 本仓库\n2.  新建 exam_xxx 分支\n3.  提交代码\n4.  新建 Pull Request\n\n## 5.Todo\n+ `√`0.修复issue提地bug：题目创建失败\n+ `√`1.考试详情编辑\n+ 2.支持题目和考试的删除`删除的话比较麻烦，先不做了，最好是弄个visible字段，不实际删除，要不后面有些关联数据找不到就不好了`\n  \u003e 如果题目有关联的考试则必须先删除对应的考试，反过来删除考试则不用删除题目\n+ 3.图片改成base64存到数据库中\n+ 4.题干和选项支持富文本\n+ 5.支持批量导入题目\n+ 6.新增用户管理、学科管理功能\n+ 7.老师能考到所有学生的成绩以及考试的统计信息\n+ 8.更多的数据分析功能\n+ 9.支持容器化一键式部署(编好Dockerfile)\n+ 10.支持移动端，最好用uniapp做\n+ ......抓紧做吧，争取每周末做一点......\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsgwr%2Fspring-boot-online-exam","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flsgwr%2Fspring-boot-online-exam","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flsgwr%2Fspring-boot-online-exam/lists"}