PHP로 다국어 CEFR 언어 테스트 플랫폼 구축기
요약
PHP와 MySQL을 기반으로 13개 언어, 6개 CEFR 레벨의 대규모 다국어 온라인 언어 테스트 플랫폼(Examinizer) 구축 과정을 설명합니다. Claude AI API를 활용하여 질문을 분류하고 적응형 테스트 기능을 구현했으며, Python과 ReportLab을 이용해 신속한 PDF 자격증 발급 시스템을 완성했습니다.
핵심 포인트
- PHP/MySQL 기반의 대규모 다국어 플랫폼 아키텍처 설계
- Claude Haiku API를 사용한 12만 개 이상의 질문 분류 및 생성
- 사용자 응답에 따라 난이도를 조정하는 AI 적응형 테스트 구현
- Python ReportLab을 이용한 신속하고 검증 가능한 PDF 자격증 발급
Examinizer를 만들기 시작했을 때 목표는 간단했습니다. 비싼 시험 센터 없이도 CEFR 언어 자격증을 온라인에서 접근 가능하게 만드는 것이었습니다.
사용 기술 스택 (The Stack)
- PHP 8.2 백엔드와 MySQL 8.0
- 정적 HTML/CSS/JS 프론트엔드 (1,000개 이상의 페이지)
- PDF 자격증 생성을 위한 Python + ReportLab
- 적응형 테스트 및 질문 분류를 위한 Claude AI API
- EU 결제를 위한 myPOS
과제: 13개 언어 × 6개 CEFR 레벨
가장 큰 아키텍처 결정은 13개 언어(EN, DE, FR, ES, IT, PT, TR, AR, ZH, KO, BG, CS, PL)와 모든 6개 CEFR 레벨(A1–C2)에 걸쳐 126,000개 이상의 질문을 생성하는 것이었습니다.
저희는 Claude Haiku API를 사용하여 질문을 배치로 분류하고 생성한 다음, 이를 언어/레벨 태그와 함께 MySQL에 저장했습니다.
자격증 생성 (Certificate Generation)
각 자격증은 Python + ReportLab을 사용하여 서버 측에서 생성됩니다. 파이프라인은 다음과 같습니다:
- 사용자가 테스트를 통과 → PHP가 자격증 큐(cert queue) 트리거
- Python이 QR 코드가 포함된 PDF를 생성
- PDF가 30초 이내에 이메일로 전송합니다.
QR 코드는 고용주들이 자격증을 즉시 확인할 수 있는 저희의 공개 검증 페이지로 연결됩니다.
AI 적응형 테스트 (AI Adaptive Testing)
저희의 AI 적응형 테스트는 Claude API를 사용하여 사용자 응답에 따라 질문 난이도를 동적으로 조정합니다. B2 수준의 질문에 정답을 맞히면, 시스템은 C1 레벨로 상향 조정됩니다.
이는 고정된 25문제 테스트보다 더 정확한 레벨 평가를 제공합니다.
결과 (Results)
- 13개 언어 라이브 운영
- 1,000개 이상의 페이지 인덱싱
- 50개국 이상의 사용자 유입
- 30초 이내 자격증 발급
examinizer.net에서 직접 사용해 보세요.
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기