Plan 요약
# ToDo Java Desktop App — 핵심 요약 ## 목표 - Windows 11 로컬에서 실행되는 데스크톱 ToDo 앱 - 캘린더 기반 날짜별 ToDo 관리 - 로컬 파일 DB 사용, 재설치/업그레이드 시 데이터 유지 ## 기술 스택 - **언어/런타임**: Java 21 - **빌드**: Maven - **프레임워크**: Spring Boot (non-web) + JPA/Hibernate - **DB**: H2 (파일 DB) - **UI**: JavaFX (코드 기반) - **패키징**: jlink + jpackage (MSI/EXE, WiX 필요) ## UX 핵심 - 좌측: 월간 캘린더 - 우측: ToDo 목록 + 상세 영역 - 날짜 마커 규칙 - 미완료 ToDo 존재: 🟠 주황 - 전부 완료: 🟢 녹색 - 편집 내용은 **Save 버튼 클릭 시에만 저장** - 삭제는 즉시 반영 - 완료 항목은 밝은 회색 표시 (취소선 사용 안 함) ## 데이터 정책 - 개발 실행 시: `./data/` - 설치본 실행 시: `%LOCALAPPDATA%\TodoApp\data\` - 언인스톨 후에도 데이터 기본 보존 (수동 삭제 시 완전 제거) ## 개발/배포 흐름 1. 최소 기능 기준 End-to-End 구현 2. PowerShell 스크립트로 실행/테스트 자동화 3. `package.ps1`로 MSI 생성 4. 업그레이드 UUID 고정으로 덮어설치 지원 ## 완료 기준 (Definition of Done) - 캘린더 마커 및 저장/삭제 로직 정상 동작 - 단위 테스트 통과 - MSI 설치 및 실행 가능 - 업그레이드 후 데이터 유지 확인 ## 범위 제외 (Non-goals) - 웹 UI, 클라우드 동기화 - 자동 저장 - 알림, 반복 일정, 태그 등 고급 기능 |