<aside> 💡 사용자 관점 기능 명세

</aside>

루틴


루틴 용어 설명:

루틴 : 시간(없음 또는 지정됨), 제목, 카테고리, 반복 규칙, 알람(여부, 시점), 메모 등이 포함된 일종의 규칙을 의미한다.

알람 : 루틴 의 설정에 맞게 사용자에게 미리 루틴에 대해 알려주는 것을 의미한다.

완료미완료 : 개별 루틴의 완료/미완료 여부를 의미한다.

개별 루틴 (루틴 기록, 루틴 인스턴스): 루틴 생성 시 반복 규칙에 따라 생성된 모든 일련의 개별 과거 완료 루틴, 개별 미래 완료 루틴, 개별 과거 미완료 루틴 , 개별 미래 미완료 루틴을 의미한다.

기능 설명:

  1. 모든 개별 루틴은 현재 시간과 관계 없이 완료/미완료 상태를 변경 가능하다.
  2. 루틴 생성 시, 개별 미래 미완료 루틴 (과거라도 당일이면 생성)이 루틴요일 반복 규칙 에 따라 생성된다.
  3. 루틴 수정에서 반복 규칙이 변경되는 경우, 개별 미래 미완료 루틴 (과거라도 당일이면 재구성) 이 규칙에 맞게 재구성된다. (개별 미래 미완료 루틴반복 규칙에서 제외되는 경우 삭제되고, 새로 포함되는 경우 생성된다.)
  4. 루틴이 삭제되는 경우(이전 루틴 기록 유지하기), 개별 미래 미완료 루틴 이 일괄 삭제된다. (과거라도 당일이면 삭제 대상에 포함) (나머지 세 상태는 남아 있다.)
  5. 루틴이 삭제되는 경우(전체 루틴 기록 삭제), 개별 루틴(4 상태 모두) 이 일괄 삭제된다. (API는 구현되어 있으나 현재 기획에 포함되지 않음)
  6. 개별 루틴 (4 상태 모두) 에 대한 단독 수정 및 삭제를 지원한다. 이는 루틴 전체의 삭제를 의미하는 것이 아니며, 해당 일자 및 시간에 해당하는 루틴을 숨김 처리 하는 것으로 보면 된다.
  7. 알람의 경우에는 개별 미래 미완료 루틴 에 대해서만 동작한다.
  8. 루틴 시작 일시와 종료 일시의 경우, 기능 단순화를 위해 별도로 지정하지 않고 시작 일시 → 루틴 생성 일시, 종료 일시 → 루틴 삭제 일시 로 판단한다.

기존 기능 → 변경 기능(파란색)

O (유지) / X (삭제) 과거 현재 미래
이전 루틴 기록 유지하고 삭제 ⭕️
이전 루틴 포함 모두 삭제
이 루틴만 삭제 ⭕️ ⭕️
이후 반복 루틴 모두 삭제 ⭕️

데이터베이스 변경 필요 → 루틴 기준