기능 요구사항
- 일정 기능을 세분화 하자.
- 단일 일정: 특정 날짜, 특정 시간, 특정 장소로 설정
- 반복 일정: 매주 특정 요일의 특정 시간, 특정 장소로 설정
- 종일 일정: 시간을 지정하지 않고, 그 하루 전체를 일정으로 설정
- 반복 일정은 상황에 따라 하루만 예외로 두고 다른 요일로 변경하거나, 취소할 수도 있어야 한다.
프로그래밍 요구사항
- 기존과 같은 건당 등록으로는 반복 일정을 처리할 수 없다. 데이터베이스 스키마를 전체적으로 재고해보자.
- 구조상, 슬슬 DB에 무리가 갈 수 있는 쿼리가 등장할 수 있다. 이 경우, 어떻게 쿼리를 개선할 수 있을지 생각해보자.
- 이런 상황에선, 어떻게 iCal로 추출할 수 있을지 고민해보자.