Skip to content

Latest commit

 

History

History
303 lines (230 loc) · 8.51 KB

File metadata and controls

303 lines (230 loc) · 8.51 KB

🍇 Ppodo (뽀도)

포도알 뽀모도로 타이머 - Pomodoro Timer with Gamification

뽀모도로 기법과 포도 수확이라는 게이미피케이션 요소를 결합한 생산성 도구입니다.


📝 개요

**Ppodo (뽀도)**는 집중할 때마다 포도알을 획득하고, 포도송이와 상자를 완성하며, 레벨업과 뱃지 수집을 통해 성취감을 느낄 수 있는 Windows 데스크톱 애플리케이션입니다.

핵심 컨셉

  • 🍇 뽀모도로 + 포도 = Ppodo (뽀도)
  • 📈 집중 시간을 "포도 수확"으로 시각화
  • 🎮 RPG 게임처럼 성장하는 생산성 앱

✨ 주요 기능

🌐 다국어 지원 (I18N)

  • 한국어 (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
  • 레벨업 시 축하 메시지
  • 연속 집중 일수 추적
  • 총 집중 시간 기록

🏆 뱃지 시스템 (15종)

마일스톤

  • 🌱 첫 걸음: 포도알 1개 획득
  • 🍇 첫 송이: 포도송이 1개 완성
  • 📦 첫 상자: 포도상자 1개 완성
  • 🍷 첫 와인: 와인병 1개 완성
  • 🍾 와인 마스터: 와인상자 1개 완성

연속성

  • 🔥 일주일 연속: 7일 연속 집중
  • 💪 끈기왕: 50일 연속 집중

일간 성과

  • 집중왕: 하루 10개 포도알
  • 👑 한 달 마스터: 한 달 중 25일 집중

수집

  • 💯 백전노장: 포도알 100개 획득
  • 🏭 포도농장: 포도상자 10개 완성
  • 🏆 전설: 포도알 1000개 획득

시간대

  • 🌅 새벽형 인간: 오전 6-9시 집중
  • 🦉 올빼미족: 밤 10시 이후 집중

레벨

  • 레벨 마스터: 레벨 10 달성

태스크

  • 완벽주의자: 할 일 100개 완료

시간

  • 시간여행자: 총 100시간 집중

📝 할 일 관리

  • 태스크 추가, 완료, 삭제
  • 집중 시작 전 할 일 선택
  • 완료된 할 일 통계

📊 통계 분석

  • 주간 리포트: 최근 7일 집중 시간 막대 그래프
  • 태스크 분포: 오늘 하루 태스크별 시간 파이 차트
  • 일간/총 통계 표시

🎨 프리미엄 테마 (5종)

  • Nordic: 북유럽의 차분함과 지적인 분위기 (스틸 블루)
  • Midnight: 깊은 밤의 고요함과 완벽한 몰입 (다크 슬레이트)
  • Forest: 숲속의 피톤치드와 같은 안정감 (딥 그린)
  • Lavender: 영감을 깨우는 감각적인 바이올렛 (비비드 바이올렛)
  • Cafe: 카페에서의 여유롭고 따뜻한 집중 (커피빈 브라운)

🛠️ 기술 스택

  • 언어: Python 3.8+
  • UI 프레임워크: PySide6 (Qt for Python)
  • 데이터베이스: SQLite3
  • 차트: Matplotlib
  • 패키징: PyInstaller

📦 설치 및 실행

1. 의존성 설치

pip install -r requirements.txt

2. 애플리케이션 실행

python main.py

3. 실행 파일 생성 (.exe)

pyinstaller --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     # 테마 기반 스타일 유틸리티

🎯 사용 방법

1. 할 일 등록

  • "📝 할 일" 탭에서 새 할 일 추가
  • 목록에서 작업할 할 일 선택

2. 집중 시작

  • "▶ 시작" 버튼 클릭
  • 25분 타이머 자동 시작
  • 진행률 바로 진행 상황 확인

3. 집중 완료

  • 25분 완료 시 자동 알림
  • 🍇 포도알 +1 획득
  • 💫 경험치 +10 XP 획득
  • 자동으로 5분 휴식 시작

4. 통계 확인

  • "📊 통계" 탭에서 주간 집중 시간 확인
  • 태스크별 시간 분포 확인

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)에 저장됩니다.


🚀 향후 개발 계획

Phase 2 (Enhanced UX)

  • 포도알 획득 애니메이션 효과
  • 레벨업 축하 애니메이션
  • 뱃지 획득 시 확대 효과
  • 사운드 효과 (획득음, 레벨업음)

Phase 3 (Advanced Features)

  • 월간 통계 및 트렌드 분석
  • 커스텀 알림음
  • 데이터 내보내기 (CSV/JSON)
  • 시즌별 한정 뱃지
  • 도전 과제 시스템

Phase 4 (Storage & Cloud Integration)

  • 다중 스토리지 백엔드 지원
    • 로컬 SQLite (기본)
    • Notion Database 연동
    • Supabase 연동
  • 클라우드 동기화
  • 데이터 마이그레이션 도구
  • 실시간 백업 기능

Phase 5 (Social Features)

  • 친구와 비교
  • 주간 랭킹
  • 뱃지 공유하기

👤 개발자

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 가시성

집중하고, 성장하고, 포도를 수확해서 와인을 만드세요! 🍇🍷✨