Skip to content

feat: exams,accounts의 view 구현 및 기존 exams 모델의 name 수정 - #34

Open
h2ew0n wants to merge 2 commits into
devfrom
feature/#24-accounts,exams-view
Open

feat: exams,accounts의 view 구현 및 기존 exams 모델의 name 수정#34
h2ew0n wants to merge 2 commits into
devfrom
feature/#24-accounts,exams-view

Conversation

@h2ew0n

@h2ew0n h2ew0n commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

관련 이슈

#24

주요 변경 사항

1. exams 모델 수정 (Refactoring)

  • 과목명 필드 수정: Exam 모델 내 필드명을 최신 명세 및 AI 분석 모듈 연동 기준에 맞춰 subject_name 으로 기존 name에서 변경
  • 검증(Validation) 및 관계 정제:
    • StudyTaskestimated_min_minutesestimated_max_minutes보다 크지 않도록 검증
    • StudyTask.examStudyMaterial.exam 참조 일치 검증 로직 반영

2. accounts 앱 View & Form 구현

  • 회원가입 / 로그인 / 로그아웃 뷰 구현:
    • 이메일 기반 로그인 시스템 지원 (AuthenticationForm 커스텀)
    • 회원가입시 필수값 검증 및 Bootstrap 스타일 위젯 반영
  • Form - View 이름 불일치 수정:
    • SignupForm, LoginForm 클래스명 매핑 정리 (CustomUserCreationForm, CustomAuthenticationForm 사용 정제)

3. exams 앱 View 구현

  • 시험기간(ExamPeriod) CRUD 뷰 구현: 목록 조회, 생성, 상세 보기
  • 과목(Exam) CRUD 뷰 구현: 시험기간 내 개별 과목 추가 및 관리
  • 가용시간(AvailableTime) 입력 뷰 구현: 시험기간 내 일자별 공부 가능 시간 설정/수정 FormSet 연동
  • 학습 자료(StudyMaterial) 등록 및 상세 뷰 구현: PDF/텍스트 기반 학습 범위 업로드 및 텍스트 파싱 상태 조회 뷰 구현

🔍 테스트 및 검증 사항

  • Django Shell 및 로컬 서버(runserver)를 통한 URL 라우팅 (reverse()) 검증 완료
  • 회원가입, 로그인, 로그아웃 정상 동작 확인
  • 시험기간 생성 및 하위 과목/가용시간 정상 등록 확인
  • Exam.name 필드 수정에 따른 템플릿 및 관련 참조 코드 에러 유무 점검 완료

@wngjs8114

wngjs8114 commented Jul 31, 2026

Copy link
Copy Markdown
Collaborator

전체적인 accounts/exams View 구현과 사용자 소유권 필터링 방향은 좋습니다. 회원가입 시 username=email로 저장하도록 수정한 부분도 확인했습니다.

accounts/exams URL 연결은 PR #35에서 별도로 구현된 것을 확인하여, 이번 PR에서는 아래 사항만 수정 부탁드립니다.

  1. Exam.__str__()가 아직 self.name을 사용하고 있어 self.subject_name으로 수정이 필요합니다.

  2. 시험기간 수정 시 기간을 축소하면 수정된 범위 밖의 AvailableTime 데이터가 남을 수 있습니다. 수정된 start_dateend_date 범위를 벗어난 데이터가 정리되도록 처리 부탁드립니다.

  3. 이번 PR에서 구현하거나 수정한 범위에 대해 아래 테스트도 추가되면 좋겠습니다.

  • 서로 다른 이메일로 회원가입을 두 번 진행해도 정상적으로 생성되는지
  • 타 사용자의 시험기간, 과목 등 객체에 접근할 수 없는지
  • 시험기간 생성 및 수정이 정상적으로 동작하는지
  • 시험기간 축소 시 범위 밖의 AvailableTime이 정리되는지
  • Exam.__str__()가 정상적으로 동작하는지

study_task_confirm()에서 planner:feasibility로 이동하는 부분은 기존 URL/View 계약과 일치하므로 그대로 유지하면 될 것 같습니다. 해당 planner View와 URL은 planner 담당 작업에서 연결하겠습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants