Git Product home page Git Product logo

problem-killer's Introduction

problem-killer (简单易用的刷题工具

基于vue+element实现,所有数据存在浏览器端。

不需要数据库,不需要服务器。

GitHub release GitHub All Releases GitHub last commit GitHub Workflow Status

在线体验

体验地址:prokill.serfend.top

使用方法

  • 方法一:直接运行

  • 方法二:下载静态资源包使用http服务运行

    • 下载最新发布的部署包,选中其中的static.zip文件下载
    • 解压下载好的zip文件
    • 使用任意方式开启一个http服务,例如python在当前目录启用http服务方法 python -m http.server 80
  • 方法三:使用node环境部署和运行

    • npm install
      npm run dev
    • 运行完成后将自动打开网站

功能

Features

  • 部署
    • 支持直接双击运行(双击运行http-server一键完成部署网站)
    • 支持电脑和手机多种分辨率使用
  • 刷题
    • 设置
      • 范围选取(可以灵活选择一个题库中的某个范围内的题)
      • 随机题序(将选中的题目顺序打乱)
      • 随机选项序(将选择题的选项打乱)
      • 刷题模式(类似于背单词软件的直接选中功能)
      • 急速模式(正确的题目将直接提交)
      • 斩杀模式(题目完成后将会隐藏起来方便思维聚焦)
      • 筛选连对(错题本模式)(只显示连对次数少于某次的题)
      • 无限模式(完成一轮后点击立即开始下一轮)
    • 题型
      • 动态题解及用户答案再现(题解可以引用题目选项)
      • 支持题目去重判断以及统计(可以显示哪些题存在重复)
      • 题干特殊格式校验支持
      • 支持快捷选择我会做我不会
      • 支持快捷提交答案以及快捷提交多选
  • 统计
    • 题库静态加载和统计
    • 题目解析和历史统计
    • 题目筛选原因提示
    • 当前答题轮次数据展示
    • 题库搜索和题目模糊搜索和按字段搜索
  • 性能
    • 支持题目懒加载(降低大量题目条件下的负荷)
  • 偏好
    • 支持题目样式自定义(如自定义提交按钮)

演示

主页(目前错题本菜单集成到了答题菜单中)

  • image-20220514223406317

题库选取

  • image-20220515175042851

题库设置

  • data\problems\index.json中设置题库目录。

  • data\problems\database\XXXXX.json中设置题目内容,文件名与index.json中对应即可,可参考默认案例。

    {
        "problems":[
            {
                "content":"单选题干",
                "options":["选项A","选项B","选项C"],
                "analysis":"这题选C",
                "answer":3
            },
            {
                "content":"单选题干",
                "options":["选项A","选项B","选项C"],
                "analysis":"这题选C,同时支持选项引用,这里{{OPT:3}}选项是正确答案",
                "answer":3
            },
            {
                "content":"多选题干",
                "options":["选项A","选项B","选项C"],
                "analysis":"这题选AC",
                "answer":[1,3]
            },
            {
                "content":"多选题干",
                "options":["选项A","选项B","选项C"],
                "analysis":"这题选A",
                "answer":[1] // 数组表示是多选题
            },
            {
                "content":"判断题题干",
                "analysis":"解析也可以不写,直接去掉这个字段即可",
                "answer":true // 布尔类型表示是判断题
            },
            {
                "content":"填空题题干,早上好,{{ANS}},晚上好。\n一二{{ANS}}四五",
                "answer":["中午好","三"] // 字符串数组表示是填空题
            },
            {
                "content":"简答题题干",
                "answer":"这里填入答案" // 字符串表示是简答题
            },
        ]
    }

刷题

  • image-20220514223332446
  • image-20220515174925138
  • image-20220514223341967
  • image-20220515174849716

题目解析和统计

第一次做题时候不会有统计,以后再次刷到这个题的时候则会显示该题的历史做题记录

  • image-20220514223450674

  • 刷题模式

    如果选中该模式,则将会显示会做不会做按钮,点击按钮可以直接完成该题的训练。适合填空题这种输入答案比较慢的题快速刷题。

移动端

关于

如果存在bug或意见

​ 您可以在 issue 中提出

​ 或在 pull request 中提交您的代码

成为贡献者!

状态

Alt

problem-killer's People

Contributors

serfend avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

problem-killer's Issues

npm install 异常

npm WARN deprecated [email protected]: Please upgrade to kleur@3 or migrate to 'ansi-colors' if you prefer the old syntax. Visit <https://github.com/lukeed/kleur/releases/tag/v3.0.0\> for migration path(s).
npm WARN deprecated [email protected]: See https://github.com/lydell/source-map-url#deprecated
npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: This loader has been deprecated. Please use eslint-webpack-plugin
npm WARN deprecated [email protected]: Please see https://github.com/lydell/urix#deprecated
npm WARN deprecated [email protected]: this library is no longer supported
npm WARN deprecated [email protected]: See https://github.com/lydell/source-map-resolve#deprecated
npm WARN deprecated [email protected]: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated [email protected]: Chokidar 2 does not receive security updates since 2019. Upgrade to chokidar 3 with 15x fewer dependencies
npm WARN deprecated [email protected]: https://github.com/lydell/resolve-url#deprecated
npm WARN deprecated [email protected]: CircularJSON is in maintenance only, flatted is its successor.
npm WARN deprecated [email protected]: use String.prototype.padStart()
npm WARN deprecated [email protected]: This project has been renamed to @pawelgalazka/cli-args. Install using @pawelgalazka/cli-args instead
npm WARN deprecated [email protected]: 3.x is no longer supported
npm WARN deprecated [email protected]: some dependency vulnerabilities fixed, support for node < 10 dropped, and newer ECMAScript syntax/features added
npm WARN deprecated [email protected]: This project has been renamed to @pawelgalazka/cli . Install using @pawelgalazka/cli instead
npm WARN deprecated @hapi/[email protected]: Moved to 'npm install @sideway/address'
npm WARN deprecated [email protected]: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated [email protected]: Package no longer supported. Contact [email protected] for more info.
npm WARN deprecated [email protected]: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates.
npm WARN deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: This project has been renamed to 'tasksfile'. Install using 'npm install tasksfile' instead.
npm WARN deprecated @hapi/[email protected]: This version has been deprecated and is no longer supported or maintained
npm WARN deprecated @hapi/[email protected]: Switch to 'npm install joi'
npm WARN deprecated [email protected]: This SVGO version is no longer supported. Upgrade to v2.x.x.
npm WARN deprecated [email protected]: This version of tar is no longer supported, and will not receive security updates. Please upgrade asap.
npm WARN deprecated [email protected]: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
npm WARN deprecated [email protected]: core-js@<3.4 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Please, upgrade your dependencies to the actual version of core-js.
npm ERR! code 1
npm ERR! path C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-sass
npm ERR! command failed
npm ERR! command C:\Windows\system32\cmd.exe /d /s /c node scripts/build.js
npm ERR! Building: C:\Program Files\nodejs\node.exe C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\bin\node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli   'C:\\Program Files\\nodejs\\node.exe',
npm ERR! gyp verb cli   'C:\\Users\\yyy\\Downloads\\Compressed\\problem-killer-main\\node_modules\\node-gyp\\bin\\node-gyp.js',
npm ERR! gyp verb cli   'rebuild',
npm ERR! gyp verb cli   '--verbose',
npm ERR! gyp verb cli   '--libsass_ext=',
npm ERR! gyp verb cli   '--libsass_cflags=',
npm ERR! gyp verb cli   '--libsass_ldflags=',
npm ERR! gyp verb cli   '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using [email protected]
npm ERR! gyp info using [email protected] | win32 | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21)
npm ERR! gyp verb `which` failed  python2 Error: not found: python2
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb check python checking for Python executable "python" in the PATH
npm ERR! gyp verb `which` failed Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21)
npm ERR! gyp verb `which` failed  python Error: not found: python
npm ERR! gyp verb `which` failed     at getNotFoundError (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:13:12)
npm ERR! gyp verb `which` failed     at F (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:68:19)
npm ERR! gyp verb `which` failed     at E (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:80:29)
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\node_modules\which\which.js:89:16
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\isexe\index.js:42:5
npm ERR! gyp verb `which` failed     at C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\isexe\windows.js:36:5
npm ERR! gyp verb `which` failed     at FSReqCallback.oncomplete (node:fs:198:21) {
npm ERR! gyp verb `which` failed   code: 'ENOENT'
npm ERR! gyp verb `which` failed }
npm ERR! gyp verb could not find "python". checking python launcher
npm ERR! gyp verb could not find "python". guessing location
npm ERR! gyp verb ensuring that file exists: C:\Python27\python.exe
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: Can't find Python executable "python", you can set the PYTHON env variable.
npm ERR! gyp ERR! stack     at PythonFinder.failNoPython (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\lib\configure.js:484:19)
npm ERR! gyp ERR! stack     at PythonFinder.<anonymous> (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-gyp\lib\configure.js:509:16)
npm ERR! gyp ERR! stack     at callback (C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\graceful-fs\polyfills.js:306:20)
npm ERR! gyp ERR! stack     at FSReqCallback.oncomplete (node:fs:198:21)
npm ERR! gyp ERR! System Windows_NT 10.0.19044
npm ERR! gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\yyy\\Downloads\\Compressed\\problem-killer-main\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd C:\Users\yyy\Downloads\Compressed\problem-killer-main\node_modules\node-sass
npm ERR! gyp ERR! node -v v16.15.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\yyy\AppData\Local\npm-cache\_logs\2022-05-05T07_00_01_866Z-debug-0.log

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.