Test Center

Math / English / Music 시험 문항을 AI로 생성하고, 응시·채점·결과 관리까지 제공하는 시험 플랫폼입니다. Docker 이미지 하나로 설치하고, auth.freeitm.com과 같은 OIDC 인증 서버에 연결해 바로 운영할 수 있습니다.

다운로드

Docker 이미지(gzip tar, 약 73MB)를 내려받아 docker load로 바로 사용할 수 있습니다.

testcenter-image.tar.gz 다운로드

설치 방법

이미지를 불러온 뒤, 필요한 환경변수를 지정해 컨테이너를 실행합니다.

docker load < testcenter-image.tar.gz

docker run -d --name testcenter -p 4040:4040 \
  -e PORT=4040 \
  -e PG_HOST=127.0.0.1 -e PG_PORT=5432 \
  -e PG_USER=testcenter -e PG_PASSWORD=<비밀번호> -e PG_DATABASE=testcenter \
  -e OIDC_ISSUER=https://auth.freeitm.com \
  -e OIDC_CLIENT_ID=<클라이언트ID> -e OIDC_CLIENT_SECRET=<클라이언트시크릿> \
  -e OIDC_REDIRECT_URI=https://your-domain.example/api/v1/auth/callback \
  -e OIDC_POST_LOGOUT_REDIRECT_URI=https://your-domain.example/login \
  testcenter:latest

PostgreSQL 16 인스턴스가 별도로 필요합니다(PG_* 환경변수로 접속 정보를 지정). 테이블은 컨테이너가 처음 시작할 때 자동으로 생성됩니다.

필수 환경변수

변수설명
PORT애플리케이션이 수신할 포트(기본 4040)
PG_HOST / PG_PORT / PG_USER / PG_PASSWORD / PG_DATABASE애플리케이션 자체 데이터(문항/시험결과/캘린더 등) 저장용 PostgreSQL 접속 정보
OIDC_ISSUER연결할 OIDC 인증 서버 주소(예: https://auth.freeitm.com)
OIDC_CLIENT_ID / OIDC_CLIENT_SECRET인증 서버에 등록한 클라이언트 자격증명
OIDC_REDIRECT_URI / OIDC_POST_LOGOUT_REDIRECT_URI로그인/로그아웃 후 돌아올 이 애플리케이션의 URL

auth.freeitm.com 연동 방법

Test Center는 자체 로그인 화면 없이, OIDC 인증 서버에 로그인을 위임합니다. auth.freeitm.com을 인증 서버로 사용하려면 다음 순서로 연결합니다.

  1. auth.freeitm.com 운영자에게 새 OIDC 클라이언트 등록을 요청합니다(client_id, client_secret, redirect_uris에 설치할 도메인의 /api/v1/auth/callback을 등록).
  2. 발급받은 client_id/client_secret을 위 설치 명령의 OIDC_CLIENT_ID/ OIDC_CLIENT_SECRET에 채웁니다.
  3. OIDC_ISSUER=https://auth.freeitm.com으로 지정하면, 로그인 시 자동으로 auth.freeitm.com으로 이동해 인증한 뒤 돌아옵니다.

라이브 데모

실제로 설치·연동해 운영 중인 인스턴스를 exam.minsday.com에서 확인할 수 있습니다.