Skip to content

Repository files navigation

시간 관리 매니저 (Time Manager)

Windows용 데스크탑 시간 추적 앱입니다.
포어그라운드 앱과 브라우저 URL을 자동으로 감지하여 활동 시간을 생산적 / 비생산적 / 중립 으로 분류하고, 하루의 시간 흐름을 분석합니다.


기능

자동 활동 추적

  • 몇 초마다 현재 포어그라운드 앱을 기록
  • uiautomation으로 Chromium 계열 브라우저 URL 추출
  • 키보드·마우스 입력 없이 5분이 지나면 자동 추적 일시정지

분류 규칙

  • rules.json 기반 도메인·앱·창 제목 키워드 규칙
  • 기본값은 중립 우선 — 새 앱·사이트는 분류 전까지 중립으로 취급
  • Rules 탭에서 JSON 편집 없이 추가·수정·삭제 가능

활동 정리함

  • 기록된 활동 검색·삭제·복원
  • 앱·URL·창 제목 키워드 검색 (최근 30일)

데일리 리뷰

  • 선택 날짜의 생산적 활동·최대 방해 요소·미분류 항목 요약
  • 세션·전환 횟수 기반 흐름 분석
  • 25분 이상 집중 블록 감지

리포트

  • 최근 7일 / 30일 / 이번 달 생산성 통계
  • 24시간 활동 차트 및 일별 생산성 점수 추세선
  • 취약 시간대·반복 방해 요소·요일 패턴 분석
  • CSV 내보내기 (오늘 / 기간별 / 날짜 범위)

개인화 및 설정

  • 역할별 스타터 프리셋 (개발자·학생·사무직·크리에이터 등)
  • 일일/주간 생산 목표, 비생산 시간 상한, 근무 시간 설정
  • 데이터 보존 기간, 자동 백업 (최근 4개 유지), 수동 백업·복원
  • 다크 모드 / 라이트 모드
  • Windows 시작 시 자동 실행

진단

  • 진단 실행, 로그 내보내기, Google Forms 문제 신고 링크 내장

스크린샷

대시보드 리포트 규칙 · 분류 제안
대시보드 리포트 규칙 · 분류 제안

기술 스택

영역 기술
데스크탑 셸 Python 3.12+, pywebview
UI React 19, TypeScript, Vite 8
데이터 저장 SQLite (activity.sqlite3)
암호화 cryptography (Fernet), keyring
Windows 플랫폼 uiautomation, pystray, winotify, Pillow
테스트 pytest, Vitest 3, React Testing Library
패키징 PyInstaller + Inno Setup

프로젝트 구조

time-manager/
├── main.py                    # 진입점
├── rules.json                 # 기본 분류 규칙
├── requirements.txt
├── time_manager.spec          # PyInstaller 빌드 설정
├── version_info.txt           # exe 버전 메타데이터
├── time_manager/               # Python 패키지 (부트스트랩, 활동 추적, 저장, 분류 규칙, React↔Python API 브릿지 등)
├── webui/                      # React 프론트엔드 (컴포넌트, 훅, API 래퍼)
├── installer/                  # Inno Setup 인스톨러 스크립트
└── tests/                      # pytest 테스트

About

데스크탑에 시간 관리 시스템입니다

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages