PR 5-1: Enrollment + Progress 모델 구현
ID: 55f207de-560c-43d1-82d1-c5c9db9e5b75
교육 수강등록(Enrollment) + 진도추적(Progress) 모델 구현. TDD 기반.
## 스키마 (티켓 명세 기준)
### study_enrollments
- user_id(FK), course_id(FK)
- subscription_type: enum (monthly/quarterly/workshop_bonus/admin_grant)
- status: enum (active/pending/expired/cancelled/completed)
- payment_status, payment_key
- starts_at, ends_at
- unique index: [user_id, course_id] (동일 과정 중복 등록 방지)
### study_progresses
- enrollment_id(FK), user_id(FK), lesson_id(FK)
- watched_seconds:integer, completed_percentage:integer
- is_completed:boolean (90%+ 시청 시 true)
- last_position_seconds:integer
- unique index: [enrollment_id, lesson_id]
## 비즈니스 로직
- 90%+ 시청 → is_completed = true
- 80% 레슨 완료 → 코스 수료
## 주의사항
- Study 모듈 table_name_prefix "study_", UUID PK
- inverse_of 필수, fixtures에 _fixture: model_class:
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
팀팀리드 상태 변경: 리뷰 → 완료
2026년 03월 11일 22:24:03
-
팀팀리드 상태 변경: 할 일 → 리뷰
2026년 03월 11일 14:02:57