TKAWEN OS
교육 기관을 위한 운영체제. 각 기관은 자체 주소 your-academy.tkawen.com에서 완전한 아카데미를 운영하며, 그 기관만의 데이터베이스 위에서 동작하고, 기관 고유의 키로 암호 서명된 수료증을 발급합니다 — 첫 수업부터 검증 페이지까지.
다섯 개의 계층, 하나의 요청 경로
모든 요청은 아카데미의 서브도메인으로 들어옵니다. 무엇보다 먼저 서브도메인으로 테넌트를 식별하며, 그 이후 요청은 해당 아카데미의 데이터에만 접근합니다.
nginx · *.tkawen.comSvelteKit · /manageLaravel 13tkawen_<slug>Ed25519명령 하나로 완전한 아카데미를 — 아니면 아무것도 남기지 않는다
프로비저닝은 템플릿 복사가 아닙니다. 명령 하나로 테넌트와 데이터베이스·테이블, 소유자 계정, 역할, 테마, 수료증 템플릿, 서명 키를 만듭니다. 어느 단계든 실패하면 — 데이터베이스를 만들 수 없거나 마이그레이션이 끝나지 않으면 — 모든 것이 롤백됩니다. 반쯤 만들어진 아카데미도, 아무도 요청하지 않은 계정도 남지 않습니다.
$ php artisan tenant:provision acme \ --name="Acme Academy" --owner-email=owner@acme.dz ✓ tenant acme.tkawen.com ✓ database tkawen_acme (created + migrated) ✓ owner owner@acme.dz · tenant admin ✓ roles owner · instructor · student ✓ theme logo · colours · locale ar ✓ certificate template ready ✓ signing key Ed25519 · stored encrypted Academy 'Acme Academy' provisioned. ↺ on failure: tenant, database and new owner rolled back
- 데이터베이스
tkawen_acme - 스토리지
storage/acme - 큐
queue:acme - 서명 키
ed25519:acme
- 데이터베이스
tkawen_nour - 스토리지
storage/nour - 큐
queue:nour - 서명 키
ed25519:nour
- 데이터베이스
tkawen_atlas - 스토리지
storage/atlas - 큐
queue:atlas - 서명 키
ed25519:atlas
NO SHARED DATABASE · NO SHARED STORAGE · NO SHARED QUEUE
세 개의 화면, 역할마다 고유한 도구
소유자 패널은 아카데미 전체를 운영하고, 강사는 자신의 강좌만 보며, 수강생은 PC와 휴대폰에서 앱을 사용합니다. 데모 아카데미의 실제 화면입니다(아랍어 인터페이스).



커리큘럼 빌더
모듈, 레슨, 퀴즈와 강사가 선택하는 순차 잠금.

학습실
레슨을 하나씩. 진도는 서버에 기록됩니다.

수강 등록과 진도
수강생별 진도와 상태, 14일간 학습이 없으면 조기 경고.
학습 엔진
아홉 가지 레슨 유형, 일곱 가지 문항 유형, 그리고 화면이 아닌 서버가 강제하는 순차 잠금 — URL을 바꿔 레슨을 건너뛸 수 없습니다.
동영상
오디오
텍스트
퀴즈
과제
실시간 수업
SCORM
xAPI · cmi5
순차 잠금
open · prev · prev_pass
7가지 문항 유형
단일 선택, 복수 선택, 참/거짓, 서술형, 짝 맞추기, 빈칸 채우기, 키워드.
합격 점수와 응시 횟수
퀴즈마다 합격 점수와 응시 횟수 제한(기본 3회)이 있으며, 강사용 성적부가 있습니다.
조기 경고
14일간 학습하지 않은 수강생을 이탈하기 전에 강사에게 알립니다.
위조할 수 없는 수료증 — 도장이 아니라 수학으로
수료증을 손으로 입력하는 사람은 없습니다. 강좌를 100% 마치고 최종 퀴즈와 모든 과제를 통과하면 자동으로 발급되고, 아카데미 고유의 Ed25519 키로 서명됩니다. 글자 하나만 바꿔도 서명은 무효가 되며, 검증은 이미지나 PDF가 아니라 등록부를 읽습니다.
{
"status": "valid",
"code": "TK-LJA74G2Z",
"holder": "Demo Student",
"programme": "Git & GitHub",
"issuer": "Demo Academy",
"credential_id": "crd_01m2ya21azztz6bmx6esgje3ns",
"signature": "Ed25519 ✓"
}데모 아카데미 검증 페이지(영어)의 실제 화면입니다(보유자 이름과 강좌명은 데모의 아랍어 데이터). 수료증 디자인 11종과 자유 디자이너, 아랍어와 영어 지원.
세계 학습 시스템의 언어로 말합니다
표준 도구로 만든 콘텐츠는 그대로 실행되고, 학습 기록은 개방형 표준으로 저장되며, 아카데미는 Moodle 안에서 열리고 성적을 돌려보냅니다.
SCORM 패키지를 실행하고 진도와 점수를 기록합니다.
xAPI 문장을 아카데미별 학습 기록 저장소(LRS)에 저장합니다.
레슨에서 cmi5 패키지를 실행하고 아카데미 전용 LRS에 기록합니다.
LTI 1.3 도구: 아카데미 프로그램을 Moodle 안에서 제공하고 성적을 반환. Moodle에서 검증 완료.
AI 에이전트가 TKAWEN OS를 직접 사용할 수 있습니다
TKAWEN OS는 자체 Model Context Protocol 서버를 갖추고 있습니다. 연결된 어시스턴트는 모든 아카데미의 강좌를 한 번에 검색하고, 강좌 카드를 열고, 코드로 수료증을 검증해 발급 기관을 알려 주고, 새 아카데미 이름의 사용 가능 여부를 확인하고, Moodle에 붙여 넣을 LTI 1.3 설정을 가져올 수 있습니다 — 모두 읽기 전용이며, 방문자와 같은 공개 엔드포인트를 사용합니다.
{ "jsonrpc": "2.0", "id": 1, "method": "tools/call",
"params": { "name": "search_courses",
"arguments": { "q": "python", "certificate": true } } }
tools: overview · academies · search_courses · course
verify_certificate · check_subdomain · lti_setup
gateway: https://mcp.tkawen.com (as os__*)
search_courses
한 번의 검색으로 모든 아카데미를 대상으로 하며, 아랍어를 지원하고 수준·언어·수료증으로 필터링합니다.
verify_certificate
각 아카데미 등록부에 조회해 유효 여부와 발급 기관, 보유자, 강좌, 날짜를 알려 줍니다.
lti_setup
아카데미의 LTI 1.3 등록 정보 — 로그인, 실행, 딥 링크, JWKS URL — 를 Moodle용으로 바로 제공합니다.
권한은 서버에서 강제됩니다
화면은 당신의 것이 아닌 것을 숨기고, 서버는 그것을 거부합니다 — 강사는 데이터를 보호하는 것과 같은 접근 정책에 따라 자신의 강좌로만 제한됩니다.
| 기능 | 소유자 | 강사 | 수강생 |
|---|---|---|---|
| 아카데미, 브랜드, 강사 관리 | ● | — | — |
| 강좌 게시와 결제 검토 | ● | — | — |
| 자신의 강좌 제작: 모듈, 레슨, 퀴즈 | ● | ● | — |
| 자신의 강좌 수강생과 성적 보기 | ● | ● 본인 것만 | — |
| 학습, 퀴즈 응시, 수료증 받기 | — | — | ● |
운영과 보안
완전한 격리
아카데미마다 데이터베이스, 스토리지, 캐시, 큐.
암호화된 키
아카데미마다 Ed25519 키, 개인 키는 저장 시 암호화.
매일 백업
모든 데이터베이스를 매일: 서버에 14일, 외부 저장소에 90일 보관.
암호화된 전송
모든 아카데미 서브도메인에 TLS, 실패 시 프로비저닝 롤백.
개발 중
기술 레퍼런스는 아직 완성되지 않은 부분도 밝힙니다. 결정이 실제로 존재하는 것에 근거하도록.
academy-name.tkawen.com에서 동작합니다. 기관 자체 도메인 연결은 아직 구현되지 않았습니다.직접 동작하는 모습을 보는 것이 어떤 설명보다 낫습니다
데모 아카데미는 소유자·강사·수강생 계정으로 열려 있으며, 매일 밤 초기 상태로 돌아갑니다.
