explaingit

gygy-open/question-bank

Analysis updated 2026-05-18

29VueAudience · developerComplexity · 4/5LicenseSetup · moderate

TLDR

An AI-native question bank system that imports questions from Word, Markdown, or images, organizes them by knowledge point using RAG, and manages them through a review-and-publish workflow.

Mindmap

mindmap
  root((question-bank))
    What it does
      AI question extraction
      Multi format import
      Review workflow
    Tech stack
      Vue and Nuxt
      FastAPI
      MySQL
      ChromaDB
    Use cases
      Import from Word or image
      Knowledge point RAG matching
      Exam paper assembly
    Audience
      Educators
      Backend developers

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Upload a Word document, Markdown file, or scanned image and let AI extract structured exam questions automatically.

USE CASE 2

Organize a large question library by subject and knowledge point using vector search plus AI reranking.

USE CASE 3

Run questions through a draft-to-published review workflow with audit logging before they go live.

USE CASE 4

Assemble a custom test paper by filtering questions and exporting a collected basket.

What is it built with?

VueNuxtFastAPIPythonMySQLChromaDB

How does it compare?

gygy-open/question-bankw512/texodusu6u83wu7-hub/inflation-vue
Stars292524
LanguageVueVueVue
Setup difficultymoderatemoderateeasy
Complexity4/52/51/5
Audiencedevelopergeneralgeneral

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 1h+

Requires Docker Compose to run MySQL, ChromaDB, backend, worker, and frontend together, plus an API key for a supported AI provider.

AGPL-3.0: you can use and modify it freely, but if you run a modified version as a network service, you must also share your source code changes.

In plain English

Question Bank is a system for building and managing a library of exam or quiz questions, built with AI baked into its core workflow rather than added as an afterthought. It is aimed at educators or organizations that need to collect, organize, and reuse test questions at scale. The standout feature is smart importing: a user can upload a Word document, a Markdown file, or even an image of a printed test, and the system uses AI to automatically pull out structured questions from it, including multiple choice, multiple answer, fill in the blank with support for more than one correct answer, true or false, and open ended questions, along with rich text and math formulas. Imported questions go through a review workflow of draft, pending review, published, and archived, with a full audit log and support for soft deletes and bulk actions. The system also organizes questions by knowledge point using a technique called RAG, retrieval augmented generation, where a vector database called ChromaDB finds candidate topics related to a question and then a batch reranking step maps those candidates back to a standard set of subject knowledge points. It supports multiple AI providers, including Google Gemini, OpenAI, and any OpenAI compatible API such as DeepSeek or a privately hosted model, and these can be swapped without restarting the service since the configuration lives in the database. The project also includes an AI chat feature that supports images, exam assembly from filtered questions into a temporary basket for export, subject and tag management, user roles and permissions, and full activity logging. The frontend is built with Nuxt and Vue, and the backend runs on FastAPI with Python. The whole system can be started with one Docker Compose command that brings up the database, vector store, backend, background worker, and frontend together. It is released under the AGPL-3.0-or-later license.

Copy-paste prompts

Prompt 1
Walk me through setting up Question Bank locally with Docker Compose, including the environment variables I need.
Prompt 2
Explain how the RAG-based knowledge point matching and batch reranking works in this system.
Prompt 3
How do I configure an OpenAI-compatible AI provider like DeepSeek for the question import feature?
Prompt 4
Describe the review workflow states a question goes through from import to publication.

Frequently asked questions

What is question-bank?

An AI-native question bank system that imports questions from Word, Markdown, or images, organizes them by knowledge point using RAG, and manages them through a review-and-publish workflow.

What language is question-bank written in?

Mainly Vue. The stack also includes Vue, Nuxt, FastAPI.

What license does question-bank use?

AGPL-3.0: you can use and modify it freely, but if you run a modified version as a network service, you must also share your source code changes.

How hard is question-bank to set up?

Setup difficulty is rated moderate, with roughly 1h+ to a first successful run.

Who is question-bank for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.