포도알 뽀모도로 타이머 - Pomodoro Timer with Gamification
뽀모도로 기법과 포도 수확이라는 게이미피케이션 요소를 결합한 생산성 도구입니다.
**Ppodo (뽀도)**는 집중할 때마다 포도알을 획득하고, 포도송이와 상자를 완성하며, 레벨업과 뱃지 수집을 통해 성취감을 느낄 수 있는 Windows 데스크톱 애플리케이션입니다.
- 🍇 뽀모도로 + 포도 = Ppodo (뽀도)
- 📈 집중 시간을 "포도 수확"으로 시각화
- 🎮 RPG 게임처럼 성장하는 생산성 앱
- 한국어 (Korean) / English / 日本語 (Japanese) 지원
- 설정에서 언어 변경 가능
- 모든 UI 요소 자동 번역
- 25분 집중 / 5분 휴식 자동 전환 (사용자 정의 가능)
- 시작, 일시정지, 재개, 중지 기능
- 집중 완료 시 자동 알림
- 진행률 바와 상태 표시
- 고해상도 (High DPI) 디스플레이 지원
포도알 (Grape Berry)
↓ 10개 모으면
포도송이 (Grape Bunch)
↓ 10송이 모으면
포도상자 (Grape Box)
↓ 10상자 모으면
와인병 (Wine Bottle)
↓ 10병 모으면
와인상자 (Wine Crate)
- 뽀모도로 1개 완료 = 포도알 1개 획득
- 4단계 진화 시스템 (포도 수확 → 와인 양조)
- 2x2 그리드 레이아웃으로 모든 단계 시각화
- 오늘 획득한 포도알 통계
- 포도알 1개 = 10 XP
- 레벨업 공식:
100 × (1.5^(N-1))XP - 레벨업 시 축하 메시지
- 연속 집중 일수 추적
- 총 집중 시간 기록
- 🌱 첫 걸음: 포도알 1개 획득
- 🍇 첫 송이: 포도송이 1개 완성
- 📦 첫 상자: 포도상자 1개 완성
- 🍷 첫 와인: 와인병 1개 완성
- 🍾 와인 마스터: 와인상자 1개 완성
- 🔥 일주일 연속: 7일 연속 집중
- 💪 끈기왕: 50일 연속 집중
- ⚡ 집중왕: 하루 10개 포도알
- 👑 한 달 마스터: 한 달 중 25일 집중
- 💯 백전노장: 포도알 100개 획득
- 🏭 포도농장: 포도상자 10개 완성
- 🏆 전설: 포도알 1000개 획득
- 🌅 새벽형 인간: 오전 6-9시 집중
- 🦉 올빼미족: 밤 10시 이후 집중
- ⭐ 레벨 마스터: 레벨 10 달성
- ✅ 완벽주의자: 할 일 100개 완료
- ⏰ 시간여행자: 총 100시간 집중
- 태스크 추가, 완료, 삭제
- 집중 시작 전 할 일 선택
- 완료된 할 일 통계
- 주간 리포트: 최근 7일 집중 시간 막대 그래프
- 태스크 분포: 오늘 하루 태스크별 시간 파이 차트
- 일간/총 통계 표시
- Nordic: 북유럽의 차분함과 지적인 분위기 (스틸 블루)
- Midnight: 깊은 밤의 고요함과 완벽한 몰입 (다크 슬레이트)
- Forest: 숲속의 피톤치드와 같은 안정감 (딥 그린)
- Lavender: 영감을 깨우는 감각적인 바이올렛 (비비드 바이올렛)
- Cafe: 카페에서의 여유롭고 따뜻한 집중 (커피빈 브라운)
- 언어: Python 3.8+
- UI 프레임워크: PySide6 (Qt for Python)
- 데이터베이스: SQLite3
- 차트: Matplotlib
- 패키징: PyInstaller
pip install -r requirements.txtpython main.pypyinstaller --noconsole --onefile --name "Ppodo" main.py생성된 파일: dist/Ppodo.exe
Ppodo/
├── main.py # 애플리케이션 진입점
├── requirements.txt # 의존성 목록
├── README.md # 프로젝트 문서
├── core/ # 비즈니스 로직
│ ├── __init__.py
│ ├── timer.py # 뽀모도로 타이머 로직
│ ├── database.py # SQLite 데이터베이스 관리
│ ├── theme.py # 테마 시스템
│ └── i18n.py # 다국어 지원 시스템
└── ui/ # UI 레이어
├── __init__.py
├── main_window.py # 메인 윈도우
├── mini_window.py # 미니 윈도우
├── timer_widget.py # 타이머 디스플레이
├── task_widget.py # 할 일 관리
├── stats_widget.py # 통계 차트
├── grape_widget.py # 포도알 수집 시스템
├── level_widget.py # 레벨 & 경험치
├── badge_widget.py # 뱃지 컬렉션
├── settings_dialog.py # 설정 다이얼로그
└── styles/ # 스타일링 모듈
├── __init__.py
└── theme_styles.py # 테마 기반 스타일 유틸리티
- "📝 할 일" 탭에서 새 할 일 추가
- 목록에서 작업할 할 일 선택
- "▶ 시작" 버튼 클릭
- 25분 타이머 자동 시작
- 진행률 바로 진행 상황 확인
- 25분 완료 시 자동 알림
- 🍇 포도알 +1 획득
- 💫 경험치 +10 XP 획득
- 자동으로 5분 휴식 시작
- "📊 통계" 탭에서 주간 집중 시간 확인
- 태스크별 시간 분포 확인
- "🏆 뱃지" 탭에서 뱃지 컬렉션 확인
- 조건 달성 시 자동으로 뱃지 획득
- ✅ 뽀모도로 완료 → 포도알 +1
- ⭐ 경험치 +10 XP
- 🍇 포도알 10개 → 포도송이 완성
- 🏆 하루 10개 포도알 → "집중왕" 뱃지
- 📦 포도송이 10개 → 포도상자 완성
- 🍷 포도상자 10개 → 와인병 완성
- ⭐ 레벨 5 달성
- 🔥 7일 연속 집중 → "일주일 연속" 뱃지
- 🍾 와인병 10개 → 와인상자 완성 (최종 단계!)
- ⭐ 레벨 10 달성 → "레벨 마스터" 뱃지
- 🏆 포도알 1000개 → "전설" 뱃지
- 🎖️ 전체 뱃지 15개 수집 완료
- tasks: 할 일 관리
- focus_sessions: 집중 세션 기록
- grape_stats: 일별 포도알 통계
- user_profile: 사용자 레벨/경험치/통계
- badge_definitions: 뱃지 정의 (15개)
- user_badges: 사용자 획득 뱃지
모든 데이터는 로컬 SQLite 데이터베이스(ppodo.db)에 저장됩니다.
- 포도알 획득 애니메이션 효과
- 레벨업 축하 애니메이션
- 뱃지 획득 시 확대 효과
- 사운드 효과 (획득음, 레벨업음)
- 월간 통계 및 트렌드 분석
- 커스텀 알림음
- 데이터 내보내기 (CSV/JSON)
- 시즌별 한정 뱃지
- 도전 과제 시스템
- 다중 스토리지 백엔드 지원
- 로컬 SQLite (기본)
- Notion Database 연동
- Supabase 연동
- 클라우드 동기화
- 데이터 마이그레이션 도구
- 실시간 백업 기능
- 친구와 비교
- 주간 랭킹
- 뱃지 공유하기
Dahae Julie Kim
This project is created for personal productivity enhancement.
뽀모도로 기법을 만든 Francesco Cirillo에게 감사드립니다.
버전: 2.2 최종 수정일: 2026-01-03 개발 시작일: 2025-01-02
새로운 기능 (v2.2):
- 🍷 와인 양조 시스템 추가 (4단계 진화)
- 📦 2x2 그리드 레이아웃으로 진행도 시각화
- 🍇 포도 수확 → 와인병 → 와인상자 완성 목표
이전 업데이트 (v2.1):
- 🌐 다국어 지원 (한국어, English, 日本語)
- 📱 고해상도 디스플레이 최적화
- 🎨 개선된 UI 가시성
집중하고, 성장하고, 포도를 수확해서 와인을 만드세요! 🍇🍷✨