할 일을 추가하고 마감일 저장, 푸시 알림을 설정할 수 있는 서비스입니다.
- SwiftUI
- MVVM Pattern
- UserDefaults
- UserNotifications
- 사용자가 설정한 ToDo를 스크롤하여 볼 수 있습니다.
- 우측 상단의 메뉴 버튼은 ToDo 정렬 등 여러 기능을 수행합니다.
- 하단의 '새로운 미리 알림'을 누르면 ToDo가 추가됩니다.
-
'할 일 추가'에 할 일을 입력합니다.
-
버튼을 누르면 임시 완료 상태가 되어 텍스트가 회색으로 바뀝니다.
-
3초 간 클릭이 더 없다면 선택된 ToDo들을 완료된 항목으로 이동합니다.
-
셀을 왼쪽으로 밀어 마감일, 푸시 알림을 설정하고 ToDo를 삭제합니다.
-
셀을 오른쪽으로 밀어 세부사항을 확인합니다.
- 마감일이 설정되면 버튼이 연두색으로 바뀌며, 남은 일 수가 표시됩니다.
- 24시간 이상 남았다면 연두색, 이내라면 주황색, 지났다면 빨간색으로 표시됩니다.
- '기한 지우기'를 통해 마감일을 초기화할 수 있습니다.
- 이미 지난 시간이거나 푸시 알림 권한을 허용하지 않은 경우 설정할 수 없습니다.
- 알림이 설정되면 아이콘이 활성화됩니다.
- 마감일 이후 설정된다면 확인 메시지를 보냅니다.
- 입력한 텍스트가 알림에 표시됩니다.
- '알림 지우기'를 통해 알림을 취소할 수 있습니다.
- ToDo 셀을 끝까지 밀면 ToDo가 삭제됩니다.
- 이후 울릴 알림이 있었다면, 자동으로 취소시킵니다.
- 해당 ToDo에 대한 구체적인 마감일과 알림일을 보여줍니다.
- 울린 알림과 완료된 항목을 볼 수 있습니다.
- 앱에 들어오면 울린 알림 항목이 업데이트 됩니다.
- '삭제'를 클릭하면, 확인 후 버튼이 눌린 일들을 삭제합니다.
- ToDo를 먼저 추가한 순(기본), 마감이 빠른 순 중 선택하여 정렬합니다.
- 현재 정렬 방식에 체크마크가 표시됩니다.
- 마감일 정렬의 경우, 마감일이 없는 ToDo는 뒤로 밀리며 먼저 추가한 순으로 배치됩니다.
.