- 학습 관리 시스템의 수강신청 요구사항을 파악한다.
- 요구사항에 대한 구현을 완료한 후 자신의 github 아이디에 해당하는 브랜치에 Pull Request(이하 PR)를 통해 코드 리뷰 요청을 한다.
- 코드 리뷰 피드백에 대한 개선 작업을 하고 다시 PUSH한다.
- 모든 피드백을 완료하면 다음 단계를 도전하고 앞의 과정을 반복한다.
- question에 delete 메서드 구현
- answer에 delete 메서드 구현
- List 일급컬렉션으로 변경
- Answers에 delete method 구현
- List 일급컬렉션으로 변경
- delete method에서 deleteHistory도 추가하도록 변경
-
Course (class)
- [Field]
- int generation(기수)
- Sessions sessions(강의 리스트)
- [Method]
- [Field]
-
Sessions (class)
- [Field]
- List sessions
- [Method]
- [Field]
-
Session (class)
- [Field]
- int id
- String title
- LocalDateTime startDate
- LocalDateTime endDate
- long tuition
- int currentcount
- int capacity
- Image coverImage
- SessionStatus status
- JoinStrategy joinStrategy
- [Method]
- boolean joinable()
- [Field]
-
JoinStrategy (interface)
- [Method]
- boolean joinable(Session session, long payAmount)
- [Method]
-
FreeJoinStrategy (class, implements JoinStrategy)
- [Method]
- boolean joinable(Session session, long payAmount)
- [Method]
-
PaidJoinStrategy (class, implements JoinStrategy)
- [Method]
- boolean joinable(Session session, long payAmount)
- [Method]
-
SessionStatus (Enum)
- PREPARING(준비중)
- RECRUITING(모집중)
- CLOSED(종료)
-
Image (class)
- [Field]
- float fileSize
- String fileType
- String ImageUrl
- int width
- int height
- [Method]
- boolean validateFileSize()
- boolean validateFileType()
- boolean validateRatio()
- [Field]
- SessionStatus 진행상태와 모집상태로 분리
- coverImage 여러개 가능하도록 기능 추가
- 수강 승인 및 수강 취소 기능 추가