본문으로 건너뛰기
로그인 둘러보기
교육·접근성 · 기타 소프트웨어 · 윈도우즈 유틸

IlmQuiz

0

IlmQuiz는 이슬람 및 쿠란 관련 지식을 퀴즈로 풀어볼 수 있는 오픈 소스 교육용 게임입니다. MesterPerfect가 GitHub에서 공개한 프로젝트로, Windows, macOS, Linux 등 다양한 운영체제에서 동작하며, 시각장애 사용자를 포함한 누구나 함께 학습할 수 있도록 접근성에 중점을 두고 설계된 점이 특징입니다.

게임교육이슬람접근성퀴즈

소개

IlmQuiz는 이슬람 및 쿠란 관련 지식을 퀴즈로 풀어볼 수 있는 오픈 소스 교육용 게임입니다. MesterPerfect가 GitHub에서 공개한 프로젝트로, Windows, macOS, Linux 등 다양한 운영체제에서 동작하며, 시각장애 사용자를 포함한 누구나 함께 학습할 수 있도록 접근성에 중점을 두고 설계된 점이 특징입니다.

상세정보

단계별 학습 난이도와 다양한 분류

퀴즈는 타프시르(해석), 아키다(신학), 피크흐(법학), 시라(전기), 하디스, 아랍어 등 여러 분류로 구성되며, 초급·중급·고급의 세 가지 난이도가 순차적으로 열리도록 구성되어 있습니다.

스크린 리더 기반 접근성 지원

게임은 자체 TTS 엔진을 통해 화면 낭독을 지원합니다. Windows에서는 UniversalSpeech를 통해 NVDA, JAWS, SAPI와 연동되며, macOS는 appscript와 osascript 기반의 VoiceOver를, Linux는 Orca 및 Speech-Dispatcher를 사용할 수 있습니다.

스마트 자동 업데이트 시스템

내장된 자동 업데이트 기능은 백그라운드에서 새 버전을 확인하고 설치본과 포터블 패키지 모두에 대해 자동으로 다운로드 및 설치를 진행합니다.

유연한 사용자 인터페이스

QStackedWidget 구조의 화면 전환, 페이드·셰이크·글로우 등 동적 효과, 다크 테마와 고대비 모드, 질문 영역의 동적 글꼴 크기 조절 기능을 제공합니다.

MVVM 기반 모듈 구조

프로젝트는 Core, Data, Services, UI 계층으로 분리된 MVVM 아키텍처를 채택해 코드 유지보수와 확장이 용이하도록 구성되어 있습니다.

설치 및 기본 사용

Windows에서는 winget을 사용해 다음 명령으로 설치할 수 있습니다.

  • winget install --id MesterPerfect.IlmQuiz --exact

설치 후 프로그램을 실행해 원하는 퀴즈 분류를 선택하면 해당 카테고리의 질문이 표시되며, 정답을 고른 뒤 다음 라운드로 진행하며 점수를 확인할 수 있습니다.

개발 환경 구성

저장소를 클론한 뒤 가상 환경을 만들고 의존성을 설치하는 흐름으로 로컬에서 직접 실행할 수 있습니다.

  • git clone https://github.com/MesterPerfect/IlmQuiz.git
  • cd IlmQuiz
  • python -m venv venv
  • venvScriptsactivate (Windows) 또는 source venv/bin/activate (macOS/Linux)
  • pip install -r requirements.txt
  • python main.py

활용 예시

쿠란과 이슬람 학문에 입문하는 학습자가 분류별·난이도별 문제를 통해 자신의 이해도를 점검하는 자기 학습용 자료로 활용할 수 있으며, 시각장애 학습자는 스크린 리더 연동을 통해 동일한 퀴즈를 함께 풀어 접근성 차 없는 학습 경험을 얻을 수 있습니다.

버전 업데이트

v1.0.3에서는 자동 업데이트 모듈의 보안 패치와 단계 로딩 최적화가 적용되어 게임 실행이 빨라지고, 난이도 성공률이 정해진 수치가 아닌 실제 문항 수 기준으로 80%가 동적 산정되도록 변경되었습니다. 또한 게임을 여러 번 실행할 때 안내 메시지가 표시되며, 빠른 종료 시 발생하던 비정상 종료 문제와 데이터베이스 조회 성능이 함께 개선되었습니다.

제한·라이선스·확인사항

IlmQuiz는 GPL-3.0 라이선스로 배포되는 오픈 소스 소프트웨어이며, 소스 코드는 GitHub 저장소에서 확인할 수 있습니다. 빌드 산출물은 GitHub Actions와 cx_Freeze, Inno Setup을 통해 자동 생성되며, 자동 업데이트 시스템의 정상 동작을 위해 네트워크 접근이 필요합니다.

시스템 요구사항

Python 3.11 이상 환경에서 PySide6(Qt) 프레임워크를 사용해 동작합니다. Windows에서는 NVDA, JAWS, SAPI 등 스크린 리더를 통한 접근성이 지원되며, macOS는 VoiceOver, Linux는 Orca 및 Speech-Dispatcher와의 연동을 전제로 합니다. GitHub Actions 기반의 자동 빌드를 통해 Inno Setup(inno) 형식의 설치본과 포터블 패키지가 함께 배포됩니다.