🤖

관통 테스트

@상엽 박

레퍼런스 문서

LRS 데이터 수집 연계
통합포탈 SSO 로그인 인증
AIDT_기술규격문서.pdf
3857.5KB

API 기술 규격 문서 API 스펙

통합인증 및 SSO 연동

AI 디지털교과서 통합인증
AI 디지털교과서 포털에서 제공하는 통합인증체계는 여러 개발사의 AI 디지털교과서 서비스를 하나(SSO: Single-Sign-On)의 아이디와 인증 절차를 적용하여 안전한 인증 환경을 보장하면서 동시에 효율적인 인증 관리, 사용자 정보 제공 등을 수행
개발사는 통합인증체계 연계를 통해 맞춤형 서비스 제공을 위한 사용자 식별 정보, 소속 정보, 부가 정보 등을 제공받을 수 있음 (UUID, 연동 인증키 등)
SSO Server: Unknown
Keris 통합 API Server: Unknown
IHFB SSO Server: 밀당에서 SSO 인증을 위해 포워드 프록시서버 및 IHFB AIDT 클라이언트를 띄어주기 위한 어플리케이션
SSO Agent: 사용자 인증 정보를 관리하며 대신 로그인 대행
로그인(SSO Token 발행) → 교과서 선택 → Keris API Server를 통해 IHFB SSO 서버를 포워드 프록시 서버로 활용하여 IHFB 토큰 발행 및 SSO 유저 확인

로그인 버튼

교과서 선택

교실 자동 세팅 프로비저닝

TODO 작성 예정
렉쳐코드 기반 유저를 그룹에 넣어줌

표준 체계 및 성취기준 시스템

WIP

LRS 데이터 수집

설명

Learning Record Store(LRS) 시스템은 학생들의 학습 내역을 규격에 맞게 통합 관리를 목적으로 합니다. 학생들의 학습 시에 규격(xAPI)에 맞춘 학생들의 학습 데이터를 받아 저장을 하여, 새벽시간에 Keris쪽으로 배치처리를 하는 방식입니다.
xAPI(Experience API)는 학습 경험을 문서화하고 전자적으로 교환할 수 있도록 하는 기술 사양입니다. xAPI는 JSON을 사용하여 데이터 객체를 직렬화하고, HTTP 요청과 응답을 통해 데이터를 전송합니다.

상세 구현 현황

1.
FE에서 xAPI에 맞춘 데이터를 SUI단위로 BE에 Post 요청
learning-record-store.controller의 saveLearningRecordStoreData 함수를 호출합니다.
2.
saveLearningRecordStoreData 의 body값이 Keris에서 요구한 json 타입에 맞는지 BE에서 확인
Nestjs의 pipe(ValidateSchemaPipe)를 이용하여 데이터가 문제 없이 들어오는지 확인하고 로직이 실행됩니다.
3.
saveLearningRecordStoreData 에서 ExperienceLog 테이블에 데이터를 저장합니다.
학습 데이터를 ExperienceLog에 저장합니다.
4.
새벽시간에 Keris 쪽으로 배치처리(mildang-backend-cron 서버에서 2시간마다 보내는 코드도 있는데 규완님이 바빠서 제대로 확인 못해서 내일 확인 필요)
learning-record-store.controller의 handleStudyActivityInstanceProcessingForLRS (Kafka cosumer)가 카프카의 메시지를 컨슈밍하여, ExperienceLog에 저장되어 있는 학생들의 데이터를 Keris 쪽으로 배치처리합니다.

관통 테스트

규완님의 경험상 형성평가, 진단평가, 과제 학습 위주로 진행한다고 합니다.
확인할 부분
표준체계가 붙은 수업에 대해서만 위 데이터를 수집하기 때문에 테스트할 콘텐츠에 대한 정확한 확인이 필요
partnerId와 커리큘럼 확인해서 ccc 만든다
콘텐츠팀 확인필요 - 제목 알아가기
형성평가, 진단평가, 과제 학습이 xapi 상으로 어디에 포함되는지 확인하기
Assessment
Assignment
규완님 말로는 태구님께 어떤 팟을 재시작 요청하여 재시작 되면, LRS 데이터를 적재를 한다고 합니다.(아마도 Kafka producing을 하는 듯) 더 구체적으로 어떤 팟 재시작하는지 확인하기
크론이라는 다른 서비스 → 2시간마다 하는데, 리스타트를 해주면 된다
FE에서 쏘는 데이터가 제대로 저장이 되는지 모니터링은 어떻게 하는지 확인하기
테이블에서 직접 확인(Navigation 빼고 확인)
배치처리 확인
sa의 kafka consuming vs mildang-backend-cron 서버에서 2시간마다 크론잡

AIDT 출판사 관리

WIP