Skip to content

Jieun13/iOS_todo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

myTodoAPP

시간대별로 할 일을 관리하는 iOS 할 일 관리 앱입니다. iOS Calendar와 Reminders와 완전히 동기화되어 일정을 효율적으로 관리할 수 있습니다.

주요 기능

⏰ 시간대별 할 일 관리

  • 4가지 시간대: 아침, 일과 중, 귀가 후, 자기 전
  • 각 시간대별로 색상 구분 (빨강, 주황, 초록, 파랑)
  • 현재 시간대에 맞는 할 일을 자동으로 표시
  • 시간대별 시작/종료 시간 커스터마이징 가능

📅 iOS Calendar & Reminders 동기화

  • 양방향 동기화: 앱에서 생성한 할 일이 Reminders에 자동 추가
  • 자동 가져오기: Calendar와 Reminders의 이벤트/미리알림을 앱으로 자동 가져오기
  • 실시간 업데이트: 외부에서 수정한 내용이 앱에 자동 반영
  • 범위 기반 필터링: 하루 범위 내의 항목만 표시 (앞뒤 2일치 확인 후 필터링)

✅ 3단계 상태 관리

  • 미완료진행중완료미완료 (순환)
  • 각 상태별로 시각적 구분
  • 완료 시간 자동 기록

🔄 미루기 버튼으로 시간대 이동

  • 할 일 행의 오른쪽에 두 개의 버튼을 두어 다른 시간대로 이동시킬 수 있음
  • 이전 시간대로 이동 / 다음 시간대로 이동 버튼 제공
  • 미리알림과 연동된 할 일의 경우 시간 정보 자동 제거

📝 할 일 유형

  • 해야 할 일: 필수로 해야 하는 할 일
  • 하고 싶은 일: 선택적으로 하고 싶은 할 일

⚙️ 설정

  • 시간대별 시작/종료 시간 커스터마이징
  • Calendar 및 Reminders 권한 관리
  • 수동 동기화 기능

기술 스택

  • 언어: Swift
  • 프레임워크: SwiftUI
  • 데이터 저장: UserDefaults
  • 외부 연동: EventKit (Calendar & Reminders)

프로젝트 구조

myTodoAPP/
├── Models/              # 데이터 모델
│   ├── TodoItem.swift
│   ├── TodoStore.swift
│   ├── TimeSettings.swift
│   └── ...
├── Views/               # UI 컴포넌트
│   ├── MainView.swift
│   ├── TodoRowView.swift
│   ├── AddTodoView.swift
│   └── ...
└── Services/            # 비즈니스 로직
    ├── CalendarSyncService.swift
    ├── CalendarEventSync.swift
    ├── ReminderSync.swift
    └── ...

시작하기

요구사항

  • iOS 15.0 이상
  • Xcode 14.0 이상
  • Calendar 및 Reminders 접근 권한

설치

  1. 프로젝트를 클론하거나 다운로드합니다
  2. Xcode에서 myTodoAPP.xcodeproj를 엽니다
  3. 시뮬레이터 또는 실제 기기에서 실행합니다

권한 설정

앱을 처음 실행하면 Calendar와 Reminders 접근 권한을 요청합니다. 동기화 기능을 사용하려면 권한을 허용해야 합니다.

주요 화면

메인 화면

  • 상단: 현재 시간대의 할 일 목록
  • 하단: 전체 할 일 목록 (확장/축소 가능)
  • 필터: "해야 할 일" / "하고 싶은 일" 전환

할 일 추가 화면

  • 제목, 메모 입력
  • 유형 선택 (해야 할 일 / 하고 싶은 일)
  • 시간대 선택 (선택사항)

할 일 상세 화면

  • 제목, 메모 수정
  • 유형 변경
  • 시간대 변경
  • 상태 변경
  • 삭제

설정 화면

  • 시간대별 시간 설정
  • Calendar/Reminders 권한 관리
  • 수동 동기화

사용 방법

할 일 추가하기

  1. 메인 화면에서 "+" 버튼 클릭
  2. 제목과 메모 입력
  3. 유형과 시간대 선택
  4. 저장

할 일 시간대 이동하기

  1. 할 일 행을 왼쪽으로 스와이프
  2. 나타나는 화살표 버튼으로 이전/다음 시간대로 이동

할 일 상태 변경하기

  • 할 일 행을 탭하여 상세 화면 열기
  • 상태 변경 또는 메인 화면에서 직접 토글

Calendar/Reminders와 동기화

  • 앱에서 생성한 할 일은 자동으로 Reminders에 추가됩니다
  • Calendar와 Reminders의 이벤트/미리알림은 자동으로 앱에 가져와집니다
  • 외부에서 수정한 내용은 앱을 다시 열 때 자동 반영됩니다

라이선스

이 프로젝트는 개인 프로젝트입니다.

About

미리알림, 캘린더를 연동해서 사용할 수 있는 to-do 앱입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages