{"id":28951274,"url":"https://github.com/itscrystalline/quikscore","last_synced_at":"2026-05-04T23:33:51.294Z","repository":{"id":298082376,"uuid":"998796239","full_name":"itscrystalline/quikscore","owner":"itscrystalline","description":"Automatically scan and score answer sheets. (KOSEN-KMITL Year 3 Project)","archived":false,"fork":false,"pushed_at":"2025-09-21T10:53:23.000Z","size":395621,"stargazers_count":1,"open_issues_count":2,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-09-21T12:10:39.251Z","etag":null,"topics":["image-processing","opencv","rust","scoring","tauri-app","vuejs"],"latest_commit_sha":null,"homepage":"","language":"Rust","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/itscrystalline.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,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-06-09T09:07:34.000Z","updated_at":"2025-09-21T10:53:28.000Z","dependencies_parsed_at":"2025-08-12T04:05:11.189Z","dependency_job_id":"d504c90f-49fd-429a-a543-93b11ed6ef7e","html_url":"https://github.com/itscrystalline/quikscore","commit_stats":null,"previous_names":["itscrystalline/quikscore"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/itscrystalline/quikscore","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itscrystalline%2Fquikscore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itscrystalline%2Fquikscore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itscrystalline%2Fquikscore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itscrystalline%2Fquikscore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/itscrystalline","download_url":"https://codeload.github.com/itscrystalline/quikscore/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/itscrystalline%2Fquikscore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32628830,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-04T10:08:07.713Z","status":"ssl_error","status_checked_at":"2026-05-04T10:08:02.005Z","response_time":58,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["image-processing","opencv","rust","scoring","tauri-app","vuejs"],"created_at":"2025-06-23T14:18:10.149Z","updated_at":"2026-05-04T23:33:51.287Z","avatar_url":"https://github.com/itscrystalline.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# quikscore\n\n[![Coverage Status](https://coveralls.io/repos/github/itscrystalline/quikscore/badge.svg)](https://coveralls.io/github/itscrystalline/quikscore)\n\nAutomatically scan and score answer sheets.\n\n## Downloads\n\nprebuilt versions of `quikscore` built by our CI are available\n[here](https://nightly.link/itscrystalline/quikscore/workflows/cd.yaml/main?preview)\nor in the table below.\n\n| Version                             | Explaination                                 | Link                                                                                                         |\n| ----------------------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------ |\n| quikscore-linux-aarch64             | for Linux on 64-bit ARM Devices              | https://nightly.link/itscrystalline/quikscore/workflows/cd.yaml/main/quikscore-linux-aarch64.zip             |\n| quikscore-linux-x86_64              | for Linux on 64-bit x86 Devices              | https://nightly.link/itscrystalline/quikscore/workflows/cd.yaml/main/quikscore-linux-x86_64.zip              |\n| quikscore-macos-aarch64             | for macOS on Apple Silicon Devices           | https://nightly.link/itscrystalline/quikscore/workflows/cd.yaml/main/quikscore-macos-aarch64.zip             |\n| quikscore-macos-x86_64              | for macOS on 64-bit Intel Devices            | https://nightly.link/itscrystalline/quikscore/workflows/cd.yaml/main/quikscore-macos-x86_64.zip              |\n| quikscore-windows-x86_64            | for Windows on 64-bit x86 Devices            | https://nightly.link/itscrystalline/quikscore/workflows/cd.yaml/main/quikscore-windows-x86_64.zip            |\n| quikscore-windows-x86_64-installers | Installers for Windows on 64-bit x86 Devices | https://nightly.link/itscrystalline/quikscore/workflows/cd.yaml/main/quikscore-windows-x86_64-installers.zip |\n\n## Environment setup\n\n\u003e [!WARNING]\n\u003e These instructions are non-exhaustive. For full instructions, refer to the\n\u003e [DEV_MANUAL.pdf](https://github.com/itscrystalline/quikscore/blob/main/DEV_MANUAL.pdf)\n\u003e file at the root of the repository.\n\ninstall [node.js](https://nodejs.org/en/download), then install\n[yarn](https://yarnpkg.com/getting-started/install)\n\n```shell\nnpm install -g corepack\n```\n\nnext, install [rust](https://www.rust-lang.org/) from https://rustup.rs\n\nthen, in the project folder, run `yarn install` to install all the dependencies.\n\n### OpenCV \u0026 Tesseract setup (Windows)\n\ninstall [chocolatey](https://chocolatey.org/install) by running\n\n```powershell\nSet-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))\n```\n\n(if the command fails, run `Set-ExecutionPolicy Unrestricted` then rerun the\nabove command.)\n\nthen, run\n\n```powershell\nchoco install llvm opencv -y\n```\n\nto install OpenCV and LLVM libraries.\n\nnext, install [msys2](https://www.msys2.org/).\n\n\u003e [!NOTE]\n\u003e You can also download the latest nightly directly from MSYS2's\n\u003e [github actions](https://github.com/msys2/msys2-installer/releases/latest).\n\u003e\n\u003e [direct link for x64 windows](https://github.com/msys2/msys2-installer/releases/download/nightly-x86_64/msys2-x86_64-latest.exe)\n\u003e\n\u003e if you use `winget`, get it from `winget install MSYS2.MSYS2`.\n\nnext, open the **UCRT64** version of msys2. it's the yellow icon. when you open\nit up, somewhere in the shell should day `UCRT64`.\n\nthen, run the following to update the system and install the dependencies.\n\n```shell\npacman -Syu --noconfirm\n```\n\nthen, msys2 will restart. start it back up, then run\n\n```shell\npacman -Syu --noconfirm # just to make sure everything is updated\npacman -S mingw-w64-ucrt-x86_64-tesseract-ocr mingw-w64-ucrt-x86_64-openssl --noconfirm\n```\n\nwhen pacman asks to confirm, press `enter`.\n\nafter that, you need to define 12 environment variables. if you use powershell,\npaste the script below. if not, create them manually.\n\n\u003e [!WARNING]\n\u003e The instructions below assume the default installation path for MSYS2:\n\u003e `C:\\msys64`. If you have installed MSYS2 to a different location, change\n\u003e `C:\\msys64` to your install location.\n\n```powershell\n$env:MSYS2=\"C:\\msys64\"\n[Environment]::SetEnvironmentVariable(\"OPENCV_INCLUDE_PATHS\", \"C:\\tools\\opencv\\build\\include\", \"User\")\n[Environment]::SetEnvironmentVariable(\"OPENCV_LINK_PATHS\", \"C:\\tools\\opencv\\build\\x64\\vc16\\lib\", \"User\")\n[Environment]::SetEnvironmentVariable(\"OPENCV_DLL_PATH\", \"C:\\tools\\opencv\\build\\x64\\vc16\\bin\", \"User\")\n[Environment]::SetEnvironmentVariable(\"OPENCV_LINK_LIBS\", \"opencv_world4110\", \"User\")\n[Environment]::SetEnvironmentVariable(\"LEPTONICA_INCLUDE_PATH\", \"$env:MSYS2\\ucrt64\\include\", \"User\")\n[Environment]::SetEnvironmentVariable(\"LEPTONICA_LINK_PATHS\", \"$env:MSYS2\\ucrt64\\lib\", \"User\")\n[Environment]::SetEnvironmentVariable(\"LEPTONICA_DLL_PATH\", \"$env:MSYS2\\ucrt64\\bin\", \"User\")\n[Environment]::SetEnvironmentVariable(\"LEPTONICA_LINK_LIBS\", \"leptonica\", \"User\")\n[Environment]::SetEnvironmentVariable(\"TESSERACT_INCLUDE_PATHS\", \"$env:MSYS2\\ucrt64\\include\", \"User\")\n[Environment]::SetEnvironmentVariable(\"TESSERACT_LINK_PATHS\", \"$env:MSYS2\\ucrt64\\lib\", \"User\")\n[Environment]::SetEnvironmentVariable(\"TESSERACT_DLL_PATH\", \"$env:MSYS2\\ucrt64\\bin\", \"User\")\n[Environment]::SetEnvironmentVariable(\"TESSERACT_LINK_LIBS\", \"tesseract\", \"User\")\n```\n\n\u003cdetails\u003e\n\u003csummary\u003e Explaination \u003c/summary\u003e\n\n`OPENCV_INCLUDE_PATHS`: Set to `C:\\tools\\opencv\\build\\include`\n\n\u003e This tells the compiler where to find OpenCV header files (`.h` / `.hpp`) when\n\u003e building.\n\n`OPENCV_LINK_PATHS`: Set to `C:\\tools\\opencv\\build\\x64\\vc16\\lib`\n\n\u003e This tells the linker where to find OpenCV static or import libraries (`.lib`)\n\u003e for linking.\n\n`OPENCV_DLL_PATH`: Set to `C:\\tools\\opencv\\build\\x64\\vc16\\bin`\n\n\u003e This points to the directory containing OpenCV dynamic libraries (`.dll`) to\n\u003e be bundled with the app.\n\n`OPENCV_LINK_LIBS`: Set to `opencv_world4110`\n\n\u003e The actual OpenCV library name to link against. Use the base name without\n\u003e `lib` prefix or extension.\n\n`LEPTONICA_INCLUDE_PATH`: Set to `C:\\msys64\\ucrt64\\include`\n\n\u003e Location of Leptonica header files. Required for compilation of code using\n\u003e Leptonica.\n\n`LEPTONICA_LINK_PATHS`: Set to `C:\\msys64\\ucrt64\\lib`\n\n\u003e Directory containing Leptonica import libraries (`.a` or `.lib`) for linking.\n\n`LEPTONICA_DLL_PATH`: Set to `C:\\msys64\\ucrt64\\bin`\n\n\u003e Directory containing the Leptonica DLLs to be bundled with the app.\n\n`LEPTONICA_LINK_LIBS`: Set to `leptonica`\n\n\u003e Library name for linking. The build system will convert this into the\n\u003e appropriate linker flag.\n\n`TESSERACT_INCLUDE_PATHS`: Set to `C:\\msys64\\ucrt64\\include`\n\n\u003e Tesseract header file location. Needed for compilation.\n\n`TESSERACT_LINK_PATHS`: Set to `C:\\msys64\\ucrt64\\lib`\n\n\u003e Directory containing Tesseract import libraries for linking.\n\n`TESSERACT_DLL_PATH`: Set to `C:\\msys64\\ucrt64\\bin`\n\n\u003e Directory containing Tesseract DLLs to be bundled with the app.\n\n`TESSERACT_LINK_LIBS`: Set to `tesseract`\n\n\u003e The library name used by the linker to resolve Tesseract symbols.\n\n\u003c/details\u003e\n\n## Development\n\nrun `yarn tauri dev`. this will build the binary, and start the frontend server.\nafter a bit you should be greeted with the application open.\n\n## Building\n\nrun `yarn tauri build` to build the app.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitscrystalline%2Fquikscore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fitscrystalline%2Fquikscore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fitscrystalline%2Fquikscore/lists"}