Skip to content

[Feat] Todo D-Day 알림 기능 (Chrome Notifications) #44

Description

@Turtle-Hwan

설명

D-Day가 1일 이하로 남은 Todo 항목에 대해 Chrome 알림을 보내는 기능

작업 내용

Service Worker 설정

  • manifest.json에 background service worker 설정 추가
  • public/background.js 생성 (또는 src/background.ts)
  • 필요한 권한 추가: notifications, alarms, storage

알림 로직 구현

  • chrome.alarms API로 주기적 체크 (예: 1시간마다)
  • chrome.storage.local에서 Todo 데이터 읽기
  • D-Day 1일 이하 항목 필터링
  • chrome.notifications API로 알림 생성

알림 설정 UI (Settings Dialog)

  • 알림 on/off 토글
    • Switch 컴포넌트로 알림 활성화/비활성화
    • 비활성화 시 모든 알람 삭제 (chrome.alarms.clearAll)
  • 알림 주기 설정 (동적 변경 가능)
    • Select/Dropdown으로 선택 (15분/30분/1시간/3시간/6시간/12시간)
    • 선택값을 chrome.storage.local의 notificationInterval에 저장
    • Service Worker에서 저장된 주기 읽어서 chrome.alarms.create() 적용
    • 주기 변경 시 기존 알람 삭제 후 새 주기로 재생성
  • 알림 시간대 설정 (선택적)
    • 시작 시간 / 종료 시간 입력 (예: 09:00 ~ 21:00)
    • 시간대 밖에는 알림 표시 안함 (체크는 하되 알림만 스킵)
  • D-Day 임계값 설정
    • Select/Dropdown (6시간/12시간/24시간/48시간)
    • 임계값 이하의 Todo만 알림 대상으로 필터링
  • 설정 저장/불러오기
    • 기본값: 알림 활성화, 1시간 주기, 24시간 임계값

알림 동작

  • 알림 클릭 시 확장 프로그램 열기
  • 알림에 Todo 제목과 남은 시간 표시
  • 여러 개의 Todo가 있을 때 그룹화
  • 이미 완료된 항목은 알림 제외

저장소 관리

  • chrome.storage.local에 알림 설정 저장
  • 마지막 알림 시간 저장 (중복 알림 방지)
  • 알림 읽음/무시 상태 관리 (선택)

테스트 및 디버깅

  • Service Worker 로그 확인
  • 알림이 정상적으로 표시되는지 테스트
  • 확장 프로그램 재시작 시 알림 동작 확인

기술 스택

  • Chrome Extension Manifest V3
  • Service Worker (chrome.alarms, chrome.notifications)
  • TypeScript background script

우선순위

⭐⭐ 중상

예상 소요 시간

3-4시간

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions