강좌관리
강좌 등록, 4단계 마법사, 9개 편집 탭, 가격 옵션, 상태/권한, 드립까지.
개요
강좌관리는 사이트의 모든 강좌를 한곳에서 만들고, 운영하고, 공개·숨김을 제어하는 화면이에요. 강좌 한 건은 강좌 → 섹션 → 레슨 3단 구조이고, 레슨에는 동영상·문서·퀴즈·과제·라이브 5가지 유형을 섞어 담을 수 있어요. 가격은 옵션을 여러 개 만들 수 있고(예: 표준 / VIP 6개월), 학습 기간·정원도 옵션마다 따로 정할 수 있어요.
본 가이드는 동영상·문서·퀴즈·과제 레슨 기준이에요. 라이브 레슨은 송출 흐름과 OBS 설정이 따로 있으니 별도 가이드(콘텐츠 → 라이브 강좌)에서 자세히 다뤄요.
목록 화면
강좌관리 첫 화면은 강좌 목록과 카테고리 두 개 탭으로 구성돼요. 목록 탭에서 다음 컬럼이 보여요.
- 공개 — 토글 스위치. 임시저장 ↔ 공개 즉시 전환. 숨김 강좌는 비활성(회색)이라 토글 안 돼요. 인증대기도 토글로 직접 못 풀고 편집 화면에서 상태를 바꿔야 해요.
- 강좌명 — 썸네일 + 제목 + 카테고리 경로. 클릭하면 편집으로 들어가요.
- 작성자/상태 — 담당자 이름과 상태 뱃지(공개·임시저장·인증대기·숨김).
- 수강생 — 현재 등록된 수강생 수. 등록·환불 시 자동으로 증감해요.
- 가격 — 정가 또는 할인가. 무료 강좌는 "무료"로 표시.
- 레슨 — 강좌에 포함된 총 레슨 개수.
- 생성일 — 한국 날짜 형식.
- 관리 — 행 액션 드롭다운 (… 버튼).
필터·검색·정렬
- 검색 — 제목·부제목·슬러그에서 토큰 단위로 매칭.
- 상태 필터 — 전체 상태 / 공개 / 임시저장 / 인증대기 / 숨김.
- 카테고리 필터 — 트리 구조 그대로 들여쓰기 표시. 하위 카테고리 강좌까지 포함.
- 정렬 — 최신순 / 오래된순 / 수강생순 / 이름순 (A-Z) / 이름순 (Z-A).
- 한 페이지 20개씩 페이징.
일괄 작업 (체크박스 다중 선택 시)
- 공개로 변경 — 임시저장 강좌를 한 번에 공개. 가격 옵션이 0개거나 무료가 아닌 강좌는 공개가 막혀요.
- 임시저장으로 변경 — 공개 강좌를 비공개로 되돌리기. 이미 등록된 수강생은 학습을 계속할 수 있고 신규 결제만 차단돼요.
- 카테고리 변경… — 새 카테고리를 고르거나 "선택 해제"로 카테고리를 비워요.
- 숨김(삭제) — 빨간 위험 액션. 상태를 숨김 로 바꿔요. 데이터는 남고 목록에서 사라져요.
- 일괄 액션은 사이트 소유자 · 관리자 · 운영 직원만 쓸 수 있어요. 강사는 일괄 처리가 차단돼 있어요.
행 액션 (… 메뉴)
- 편집 — 9개 탭 편집 화면으로 이동.
- 커리큘럼 — 편집 화면의 커리큘럼 탭으로 바로 진입.
- 복제 — 섹션·레슨·영상 연결까지 그대로 복사한 사본을 만들어요. 사본은 임시저장으로 시작해요.
- 숨김(삭제) — 숨김 처리. 일괄과 같은 동작.
- 완전 삭제 — 사이트 소유자·관리자 만 보여요. 강좌·섹션·레슨·진도·첨부가 모두 영구 삭제돼요. 환불·영수증 추적을 위해 주문 항목 의 course_id 만 분리 보존하고 다른 데이터는 cascade. 강좌 제목 입력과 체크박스 3개 동의가 필요한 강력 동의 모달이 떠요.
새 강좌 만들기 — 4단계 마법사
오른쪽 상단 새 강좌 만들기를 누르면 4단계 흐름이 시작돼요. 1단계가 끝나는 시점에 강좌가 임시저장 상태로 즉시 만들어지고, 이후 단계는 만든 강좌를 채워가는 흐름이에요. 중간에 닫아도 임시저장으로 남아요.
1단계 — 기본정보
- 제목 (필수) — 입력하면 슬러그가 자동 생성돼요.
- 부제목 — 카드·상세 페이지의 보조 한 줄.
- 슬러그 — URL 식별자. 자동값을 그대로 쓰거나 수정할 수 있어요. 영문 소문자·숫자·하이픈만.
- 카테고리 — 트리에서 하나 선택.
- 태그 — 최대 10개. 검색·연관 추천에 쓰여요.
- 레벨 — 전체 / 입문 / 중급 / 고급.
- 썸네일 — 카드와 헤더에 노출되는 대표 이미지.
- 소개 영상 — 강좌 미리보기용. 영상 처리 시스템 으로 직접 업로드.
- 상세 설명 — 리치 에디터. 이미지·표·인용·카드 그리드까지 지원.
- 라벨 텍스트 / 라벨 색상 — 카드에 붙이는 강조 라벨 (예: "신규", "인기"). 색상은 hex 로 자유 지정.
- 홍보 문구 — 카드에 뜨는 짧은 카피 (최대 100자).
2단계 — 커리큘럼
섹션과 레슨을 추가해요. 비워두고 다음으로 넘어가도 되고, 강좌 만든 뒤 편집 화면의 커리큘럼 탭에서 채워도 돼요.
3단계 — 가격/운영
- 무료 강좌 토글 — 켜면 가격 옵션을 무시하고 무료로 등록 가능해요.
- 가격 — 정가 (원). 0 이상.
- 할인가 / 할인 종료일 — 둘 다 비우면 할인 없음.
- 학습 기간 제한 — 켜면 등록 후 N일 동안만 강의를 볼 수 있어요.
- 정원 제한 — 켜면 최대 N명까지만 등록 가능.
여기서 만든 값은 가격 옵션 1개로 저장돼요. 옵션이 더 필요하면 강좌 편집의 가격 탭에서 추가해요.
4단계 — 공개설정
- 상태 — 임시저장 / 인증대기 / 공개. 강사는 기본값이 인증대기, 사이트 소유자·관리자·운영 직원 는 기본값이 공개예요.
- SEO 메타 제목 · 메타 설명 · OG 이미지 — 검색·SNS 공유 미리보기에 쓰여요.
저장하면 강좌 목록으로 돌아가요.
편집 화면 — 9개 탭
목록에서 강좌를 클릭하면 편집 화면이 열려요. 상단에 9개 탭이 있어요.
- 과정정보 — 4단계 마법사의 1·3·4단계 필드를 한 번에 편집. 제목·썸네일·가격·SEO·라벨 등.
- 연계 상품 — 이 강좌와 함께 결제될 부속 상품(교재·키트 등). 옵션은 필수 무료 / 필수 유료 / 선택.
- 커리큘럼 — 섹션과 레슨 구조 편집. 드래그로 순서 변경. 핵심 운영 탭이에요.
- 수강생 — 이 강좌의 등록자 목록. 진도·등록일·상태 조회.
- 리뷰 — 강좌에 달린 리뷰 검토 + 관리자 답변.
- Q&A — 학생이 강좌·레슨에 남긴 질문에 답변.
- 일정 — 오프라인 강의나 공지가 있는 강좌의 일정 등록.
- 기수 — 정원·시작일을 가진 분반(Cohort) 운영. 연수 프로그램과 동일 구조.
- 설정 — SEO 메타 제목·메타 설명 입력, 오프라인·혼합형 과정에 한해 집합교육 일정 관리, 그리고 생성일·공개일·수강생·레슨·리뷰·평균 평점 같은 강좌 통계(읽기 전용)를 모아 보는 탭이에요. 환불정책·권한은 이 탭에 없어요(아래 권한·역할별 차이 참고). 수료는 강좌의 필수 레슨을 모두 완료하면 자동으로 처리·발급돼요(별도 수료 조건 설정 화면은 없어요).
커리큘럼 운영
커리큘럼 탭에서 섹션과 레슨을 만들어요. 모든 항목은 드래그앤드롭으로 정렬할 수 있어요.
레슨 유형 5가지
- 동영상 — 영상 라이브러리에서 기존 영상을 고르거나, 모달 안에서 바로 새 영상을 업로드해 연결. 영상 처리 시스템 처리 후 재생 가능.
- 문서 — 리치 에디터로 본문 작성. PDF·이미지 첨부 가능.
- 퀴즈 — 레슨을 퀴즈 유형으로 분류해요. 레슨 편집 모달에서 시험을 직접 고르지는 않고, 시험(/admin/exams) 편집 화면의 '연결된 레슨'에서 이 레슨을 지정하면 학습 화면에 시험이 표시돼요(한 시험을 여러 강좌 레슨에 동시 연결 가능).
- 과제 — 레슨을 과제 유형으로 분류해요. 퀴즈와 마찬가지로 레슨 편집 모달에 과제를 직접 고르는 연결 선택지는 없고, 유형 구분 용도예요. (별도 과제 연결 UI 는 추후 제공)
- 라이브 — 강좌 안에서 자체 송출 또는 유튜브/비메오 외부 링크. 송출 흐름·OBS 설정은 별도 가이드(콘텐츠 → 라이브 강좌) 참고.
드립 (레슨 공개 일정)
레슨마다 공개 시점을 별도로 정할 수 있어요. 레슨 편집 모달의 공개 일정 영역에서 모드를 골라요.
- 즉시 공개 — 기본값. 강좌 등록 즉시 학습 가능.
- 등록 후 N일 (등록 후) — 학생의 등록 시점부터 N일이 지나야 풀려요. 같은 강좌라도 학생마다 풀리는 시점이 달라요.
- 특정 날짜 (특정 날짜) — 모든 학생에게 같은 날 공개. 한국 시간 자정 기준으로 적용돼요.
잠긴 레슨은 학생 화면에서 자물쇠 아이콘과 함께 "M월 D일 공개" 또는 "수강 등록 후 N일 뒤 공개"로 표시되고 진입할 수 없어요.
AI 퀴즈 자동 생성은 레슨 편집 모달이 아니라 커리큘럼 목록의 각 레슨 행에 있는 반짝임(✦) 버튼에서 실행해요. 레슨 유형과 무관하게 동작하고, 영상 레슨은 영상 처리가 끝나야 생성할 수 있어요.
미리보기·필수 여부
- 미리보기 허용 — 비등록자도 일부 레슨을 무료로 볼 수 있게 해요.
- 필수 레슨 — 수료증 발급 시 진도 계산에 포함되는 레슨.
가격 옵션
강좌 한 건에 가격 옵션을 여러 개 둘 수 있어요. 학생은 옵션 중 하나를 골라 결제해요.
각 옵션은 다음 값을 가져요.
- 옵션명 — 학생에게 보이는 라벨 (예: "표준", "VIP 3개월").
- 설명 — 옵션 차이 안내.
- 정가 / 할인가 / 할인 종료일.
- 학습 기간 — null 이면 무제한.
- 정원 — null 이면 무제한. 옵션별로 정원이 별도예요.
- 활성 — 끄면 결제창에 안 보여요. 가격 정책을 임시로 내리고 싶을 때 써요.
- 순서 — 드래그로 정렬. 위에 둔 옵션이 결제창에서도 위에 떠요.
- 함께 제공 강좌 — 이 옵션을 결제하면 같이 열어 줄 다른 강좌예요. 학생은 한 번만 결제하고 여러 강좌 수강권을 한꺼번에 받아요.
기간을 학생이 고르게 하려면 같은 강좌에 옵션을 여러 개 두세요(예: 30일 / 60일 / 180일). 각 옵션에 학습 기간과 함께 제공 강좌를 따로 정할 수 있어요. 이러면 강좌 하나로 기간별 상품이 완성되고, 결제창에서 학생이 골라요.
패키지강좌와 무엇이 다른가요? 가격 옵션은 강좌 한 건에 기간별 가격을 붙이는 방식이라 학생이 기간을 고를 수 있어요. 패키지강좌는 여러 강좌를 묶은 별도 상품이고 기간이 하나로 고정돼요. 같은 상품을 양쪽에서 팔면 가격이 어긋나니 한쪽만 쓰세요.
무료 강좌로 표시된 강좌는 가격 옵션이 있어도 무시되고 무료로 등록돼요.
낱개 판매 막기 (패키지로만 판매)
"이 강좌의 정가는 보여주되, 낱개로는 못 사게 하고 패키지로만 받고 싶다" 할 때 쓰는 설정이에요. 강좌관리 → 강좌 클릭 → 과정정보 탭 → "낱개 판매 막기 (패키지로만 판매)" 를 켜고 수정 버튼을 누르면 저장돼요.
켜면 이렇게 동작해요.
- 강좌 상세의 금액은 그대로 보여요. 학생이 이 강좌의 가치를 알 수 있어요.
- 수강 신청·장바구니 담기 버튼만 사라지고, 그 자리에 "패키지에 포함된 강좌예요" 안내가 나와요. 버튼만 없애면 왜 못 사는지 모르니까요.
- 이미 장바구니에 담아둔 학생이 있어도 결제 단계에서 막혀요. 그 항목은 합계에서 빠지고 이유가 표시돼요.
- 찜하기는 그대로 돼요. 관심 표시까지 막을 이유는 없으니까요.
- 이미 수강 중인 학생은 영향 없어요. 강의실 입장·학습이 전부 그대로예요. "새로 못 산다"는 뜻이지 학습을 막는 게 아니에요.
막아둔 강좌를 학생에게 전달하는 길은 두 가지예요.
- 패키지강좌에 묶어서 판매
- 다른 강좌 가격 옵션의 함께 제공 강좌로 지정 — 그 옵션을 결제하면 이 강좌 수강권이 같이 열려요
가격 옵션을 "비활성"으로 내리는 것과 어떻게 다른가요? 옵션을 비활성으로 내리면 금액 자체가 화면에서 사라져요. 정가를 보여주면서 결제만 막고 싶다면 반드시 이 설정을 쓰세요. 반대로 상품을 아예 안 보이게 하려면 강좌 상태를 숨김으로 두세요.
무료 강좌에는 이 설정을 켤 수 없어요(체크가 비활성). 무료는 결제 자체가 없는데 낱개를 막으면 수강 신청까지 막혀서예요. 유료 강좌를 무료로 바꾸면 이 설정은 자동으로 풀려요.
상태 4종과 전환 규칙
- 임시저장 — 작성 중. 학생에게 안 보임. 새 강좌의 기본값.
- 인증대기 — 강사가 만든 강좌가 검수 대기 중일 때. 사이트 소유자·관리자이 검토 후 공개로 바꿔줘요.
- 공개 — 학생이 보고 결제할 수 있는 정상 운영 상태. 공개 시 첫 공개 시점이 자동 기록돼요.
- 숨김 — 소프트 삭제. 목록에서 숨고 결제 차단. 이미 등록한 학생은 학습을 계속해요. 토글로는 복구 안 되고, 일괄 또는 편집 화면에서 다른 상태로 바꿔야 해요.
공개 토글은 임시저장 ↔ 공개만 즉시 전환돼요. 인증대기·숨김은 토글이 비활성이에요.
권한·역할별 차이
- 사이트 소유자 · 관리자 — 모든 강좌 조회·편집·삭제·완전 삭제·담당자 변경 가능.
- 운영 직원 — 모든 강좌 조회·편집·일괄 액션 가능. 단 완전 삭제 메뉴는 안 보여요.
- 강사 — 본인이 담당으로 지정된 강좌만 보이고 편집할 수 있어요. 일괄 액션·담당자 변경·다른 강사 강좌 진입은 모두 차단돼요. URL을 직접 쳐도 404로 응답해요.
강좌의 담당자는 편집 화면 과정정보 탭의 담당자 필드에서 지정해요. 담당자가 비어 있으면 강사에게는 안 보여요.
자동으로 일어나는 일
- 수강생 수 동기화 — 수강 등록 / 환불 / 강제 취소 시 수강생 수가 자동으로 증감돼요. 목록의 수강생 컬럼은 이 값이에요.
- 공개 시 시점 기록 — 임시저장 → 공개로 바꾸면 첫 공개 시점이 첫 공개 시점에 저장돼요. 이후 다시 공개해도 첫 시점은 유지.
- 환불 → 학습 차단 — 환불된 학생의 진도는 더 이상 저장되지 않고, 학습 화면 진입이 차단돼요.
- 드립 잠금 — 드립이 걸린 레슨은 학생이 잠금 해제 시점 전엔 영상 재생도 진도 저장도 안 돼요.
- 패키지·러닝패스 영향 — 이 강좌가 패키지·러닝패스에 묶여 있으면 강좌의 공개·숨김 상태가 묶음 상품의 학습 흐름에도 영향을 줘요.
강좌 삭제 — 숨김 vs 완전 삭제
- 숨김(삭제) — 일반적인 종료 처리. 데이터를 그대로 둔 채 신규 결제만 차단해요. 환불·정산·학습 이력 추적이 모두 가능해요. 운영 종료엔 이 옵션을 권장해요.
- 완전 삭제 — 사이트 소유자·관리자 전용. 강좌·섹션·레슨·진도·첨부가 모두 사라지고 복구할 수 없어요. 회계상 영수증을 위해 주문 항목 의 강좌 ID 만 끊어서 보존돼요. 데모 데이터 정리, 잘못 만든 강좌 회수 같은 정말 필요한 경우에만 써요.
다른 기능과 연결
- 영상 라이브러리 (/admin/videos) — 영상 레슨에 연결할 영상이 모이는 곳. 같은 영상을 여러 강좌에서 재사용할 수 있어요.
- 시험 (/admin/exams) — 시험을 만들고 합격 점수·응시 횟수를 정하는 화면이에요. 레슨↔시험 연결은 시험 편집 화면의 '연결된 레슨'에서 지정해요(여러 강좌 레슨에 동시 연결 가능).
- 과제 (/admin/assignments) — 과제를 만들고 채점하는 화면이에요. (레슨에서 과제를 직접 고르는 연결 UI 는 아직 없어요.)
- 러닝패스 (/admin/paths) — 강좌 여러 개를 묶어 학습 경로 운영. 강좌 자체는 이 화면에서 만들고 묶음 구성은 러닝패스에서.
- 패키지강좌 (/admin/bundles) — 강좌 묶음 할인 상품. 패키지 결제 시 포함 강좌에 자동 등록.
- 수료증 (/admin/certificates) — 발급 템플릿과 발급 이력을 관리하는 화면이에요. 수료 자체는 강좌의 '필수 레슨'을 모두 완료하면 자동 발급돼요 — 진도율·시험 합격 같은 별도 조건 설정 UI 는 없어요.
- 카테고리 — 강좌관리 안의 카테고리 탭에서 트리 구조로 관리. 학생 화면의 강좌 분류·메뉴 구성에 그대로 쓰여요.
알아두면 좋은 점
- 가격 옵션이 0개거나 무료 강좌가 아니면 공개 토글이 막혀요. 공개 전에 가격을 한 번 더 확인해 주세요.
- 강좌 복제는 가격 옵션·함께 제공 강좌·섹션·레슨·영상 연결까지 복사해요. 다만 수강생·리뷰·Q&A는 복사되지 않아요.
- 드립 날짜는 한국 시간 자정 기준이에요. "1월 1일 공개"로 설정하면 1월 1일 00:00(한국 시간) 부터 풀려요.
- 강사가 만든 강좌는 인증대기 상태로 시작해요. 공개로 바꾸려면 사이트 소유자·관리자 검토가 필요해요.
- 강사에게서 담당자를 회수하면 그 강좌는 즉시 보이지 않게 돼요. 인수인계가 필요하면 새 담당자를 먼저 지정하세요.
노출 순서 관리
공개 강좌 목록의 순서는 URL 번호나 등록일이 아니라 노출 순서 관리에서 정한 순서를 따라요.
- 강좌관리 › 노출 순서 관리 탭을 열어요.
- 강좌 행을 드래그해 원하는 순서로 옮겨요.
- 순서 저장을 누르면 공개 목록의 "기본순"에 바로 반영돼요.
강좌 목록 탭도 기본으로 이 순서(기본순)로 보여요. 정렬 드롭다운으로 최신순·수강생순 등으로 바꿔볼 수 있어요.
강좌 편집의 슬러그(URL)는 주소일 뿐 순서와 무관해요. 순서를 바꿔도 URL 은 바뀌지 않아요.
비슷한 강좌 빠르게 만들기 (복제)
기수처럼 구성이 비슷한 강좌를 반복해서 만들 때는 강좌 목록의 ⋯ 메뉴 › 복제가 빨라요. 새 강좌를 처음부터 만들면 가격 옵션이 하나만 생기지만, 복제하면 기존 구성이 통째로 따라와요.
| 복제되는 것 | 복제되지 않는 것 |
|---|---|
| 기본 정보 · 썸네일 · 가격 옵션 전체 · 각 옵션의 함께 제공 강좌 · 섹션/레슨 구조(영상 연결 포함) | 수강생 · 진도 · 리뷰 · Q&A · 첨부파일 · 학습 페이스 일정 |
사본은 임시저장으로 만들어져요. 제목과 일정을 고치고 공개로 바꾸면 돼요.
새 기수를 여는 순서 (4단계)
- 직전 기수를 복제해요. 가격 옵션과 함께 제공 강좌가 그대로 따라와요.
- 제목과 일정을 새 기수에 맞게 고쳐요.
- 가격 옵션과 함께 제공 강좌를 확인해요. 옵션이 모두 활성인지, 함께 줄 강좌가 빠지지 않았는지 봐요. 금액이 바뀌었으면 여기서 고쳐요 — 이후 결제부터 적용되고 이미 결제한 수강생은 영향받지 않아요.
- 직전 기수의 가격 옵션을 비활성으로 바꿔 판매를 멈춰요.
가격 옵션은 지우지 말고 비활성으로. 삭제하면 이미 결제된 주문과의 연결이 끊겨 환불·주문 상세가 깨져요. 비활성은 새 결제만 막고 기존 수강권은 그대로 둬요.
보관 처리한 중복 강좌를 조심하세요. 같은 이름의 강좌가 두 개 있고 한쪽이 보관 상태인 경우가 있어요. 함께 제공 강좌에는 공개 상태인 쪽만 넣어 주세요.
새 강좌를 만들 때 매번 같은 가격을 입력한다면 설정 › 사이트 화면·경험의 "새 강좌 기본값"에 기본 가격을 등록해 두세요. 가격/운영 단계에 미리 채워져요.