Google Calendar API를 연동하여 LinKU의 Todo List에 Google Calendar 일정을 통합 표시하는 기능입니다.
┌─────────────────────────────────────┐
│ LinKU Todo List │
├─────────────────────────────────────┤
│ ┌───────────────────────────────┐ │
│ │ 📘 웹프로그래밍 기말과제 │ │ ← eCampus (검정 테두리)
│ │ 2025.10.20 23:59 [D-3] │ │
│ └───────────────────────────────┘ │
├─────────────────────────────────────┤
│ ┌───────────────────────────────┐ │
│ │ 📅 건국대 MT │ │ ← Google Calendar (파란 테두리)
│ │ 📍 강원도 홍천 │ │
│ │ 2025.10.22 10:00 [D-5] │ │
│ └───────────────────────────────┘ │
├─────────────────────────────────────┤
│ ┌───────────────────────────────┐ │
│ │ ✏️ 알고리즘 스터디 준비 │ │ ← Custom (검정 테두리)
│ │ 2025.10.18 20:00 [D-1] [✓]│ │
│ └───────────────────────────────┘ │
└─────────────────────────────────────┘
📋 기능 개요
Google Calendar API를 연동하여 LinKU의 Todo List에 Google Calendar 일정을 통합 표시하는 기능입니다.
🎯 목표
🚀 구현 단계
Phase 1: Google OAuth2 설정 (2-3시간)
identity권한 추가oauth2섹션 추가https://www.googleapis.com/auth/calendar.readonlysrc/utils/googleAuth.ts생성loginWithGoogle()함수logoutGoogle()함수Phase 2: Google Calendar API 연동 (2-3시간)
src/apis/googleCalendarAPI.ts생성getCalendarEvents()함수 구현GoogleCalendarTodoItem타입 추가src/utils/googleCalendar/converter.ts생성Phase 3: UI 통합 (2-3시간)
Phase 4: 동기화 로직 (1-2시간)
syncGoogleCalendar()함수chrome.storage.local에 Calendar Todo 저장Phase 5: 고급 기능 (선택, 2-3시간)
🎨 UI 디자인 예시
🛠️ 기술 스택
chrome.identity)📁 주요 파일 변경
public/manifest.json- oauth2, identity 권한 추가src/types/todo.ts- GoogleCalendarTodoItem 타입 추가src/utils/googleAuth.ts- 새 파일: OAuth 인증src/apis/googleCalendarAPI.ts- 새 파일: Calendar APIsrc/utils/googleCalendar/sync.ts- 새 파일: 동기화src/utils/googleCalendar/converter.ts- 새 파일: Event → Todo 변환src/components/SettingsDialog.tsx- Google 로그인 UIsrc/components/Tabs/TodoList/TodoList.tsx- Calendar Todo 통합src/components/Tabs/TodoList/TodoItem.tsx- Calendar Todo 렌더링1. OAuth 인증 검증
2. API 할당량
3. 네트워크 의존성
4. 보안
chrome.storage.local에 저장chrome.identity.getAuthToken()사용 시 Chrome이 자동 관리📚 참고 문서
⏱️ 예상 개발 시간
총 9-14시간 (테스트 포함)
💡 추가 아이디어
✅ 완료 조건