Skip to content

Latest commit

 

History

History
194 lines (154 loc) · 7.54 KB

File metadata and controls

194 lines (154 loc) · 7.54 KB

프로젝트 백로그 V2 - 1차 수정 단계

📊 프로젝트 현황 요약

완료된 Phase

  • Phase 1 ~ 9

현재 상태 분석

  • 전체 진행률: 약 70-75% 완료 추정
  • 핵심 인프라: 완료 (백업 엔진, DB 관리, 보안, 테스트, 배포)
  • UI/UX: 부분 완료 (Tailwind 도입, 기본 대시보드)
  • 고급 기능: 부분 완료 (일부 Phase 누락 확인 필요)

🎯 1차 수정 단계 목표

📋 Phase 10: 사용자 친화적 다중 DB 관리 시스템

Phase 10.1: 웹 기반 다중 DB 등록 시스템

제목: [Phase10.1] 웹 기반 다중 데이터베이스 등록 및 관리 시스템
라벨: type/feature, component/frontend, component/backend, priority/high, status/ready
마일스톤: Phase 10: 사용자 친화적 다중 DB 관리

Epic: 사용자 친화적 다중 DB 관리 시스템 구축
목표: 비개발자도 쉽게 PostgreSQL, MySQL 데이터베이스를 웹에서 등록하고 관리할 수 있도록 함

Story 1: DB 타입 선택 UI 구현
- As a 백업 관리자 (비개발자)
- I want 웹에서 데이터베이스 타입(PostgreSQL/MySQL/SQLite)을 드롭다운으로 선택하고 싶다
- So that YAML 파일을 직접 편집하지 않고도 다양한 DB를 등록할 수 있다

수용 기준:
- [x] DB 타입 선택 드롭다운 구현 (PostgreSQL, MySQL, SQLite)
- [x] 선택한 타입에 따라 기본 포트 자동 설정 (5432, 3306, 0)
- [x] 타입별 아이콘 및 설명 표시
- [x] 기존 등록된 DB의 타입 표시 및 수정 가능

Story 2: DB별 맞춤 설정 폼 구현
- As a 백업 관리자
- I want 선택한 DB 타입에 따라 적절한 설정 항목들이 동적으로 표시되기를 원한다
- So that 각 DB의 특성에 맞는 올바른 설정을 할 수 있다

수용 기준:
- [x] PostgreSQL: 호스트, 포트(5432), 데이터베이스명, 사용자명, 비밀번호, SSL 모드
- [x] MySQL: 호스트, 포트(3306), 데이터베이스명, 사용자명, 비밀번호, SSL 모드  
- [x] SQLite: 파일 경로 선택기, 파일 존재 여부 확인
- [x] 필수/선택 필드 구분 및 유효성 검사
- [x] 도움말 툴팁 제공

Story 3: 실시간 연결 테스트 기능
- As a 백업 관리자
- I want 웹에서 DB 연결을 테스트하고 즉시 결과를 확인하고 싶다
- So that 설정이 올바른지 저장 전에 미리 알 수 있다

수용 기준:
- [x] "연결 테스트" 버튼 구현
- [x] 비동기 연결 테스트 (로딩 스피너 표시)
- [x] 성공/실패 결과를 명확한 메시지로 표시
- [x] 실패 시 구체적인 오류 메시지 제공
- [x] 연결 응답 시간 표시

Story 4: 백업 설정 통합 관리
- As a 백업 관리자
- I want DB 등록과 동시에 백업 설정도 함께 구성하고 싶다
- So that 별도의 설정 파일 편집 없이 모든 설정을 한 곳에서 완료할 수 있다

수용 기준:
- [x] 백업 스케줄 설정 (전체 백업, 증분 백업)
- [x] 압축 알고리즘 선택 (gzip, lz4, zstd)
- [x] 암호화 옵션 설정
- [x] 보존 정책 설정 (일간, 주간, 월간)
- [x] 환경 및 우선순위 설정

Phase 10.2: 다중 DB 모니터링 대시보드 개선

제목: [Phase10.2] 다중 데이터베이스 통합 모니터링 대시보드
라벨: type/feature, component/frontend, priority/high, status/ready
마일스톤: Phase 10: 사용자 친화적 다중 DB 관리

Story 1: DB 타입별 상태 시각화
- As a 백업 관리자
- I want 대시보드에서 PostgreSQL과 MySQL DB들의 상태를 한눈에 보고 싶다
- So that 각 DB 타입별 백업 현황을 쉽게 파악할 수 있다

수용 기준:
- [x] DB 타입별 그룹핑된 카드 레이아웃
- [x] 각 DB별 연결 상태, 마지막 백업 시간, 백업 성공률 표시
- [x] DB 타입별 아이콘 및 색상 구분
- [x] 실시간 상태 업데이트 (WebSocket 또는 폴링)

Story 2: 다중 DB 백업 진행 상황 추적
- As a 백업 관리자
- I want 여러 DB의 백업이 동시에 실행될 때 각각의 진행 상황을 추적하고 싶다
- So that 어떤 백업이 완료되었고 어떤 것이 진행 중인지 알 수 있다

수용 기준:
- [x] 진행 중인 백업 목록 표시
- [x] 각 백업별 진행률 바 또는 스피너
- [x] 예상 완료 시간 표시
- [x] 백업 로그 실시간 스트리밍 (선택사항)

Story 3: DB별 성능 메트릭 비교
- As a 백업 관리자
- I want PostgreSQL과 MySQL의 백업 성능을 비교해서 보고 싶다
- So that 각 DB 타입의 백업 효율성을 분석할 수 있다

수용 기준:
- [x] DB 타입별 평균 백업 시간 차트
- [x] DB 타입별 압축률 비교
- [x] DB 타입별 백업 파일 크기 추이
- [x] 성능 개선 권장사항 표시

Phase 10.3: 사용자 경험 최적화

제목: [Phase10.3] 다중 DB 관리 사용자 경험 최적화
라벨: type/improvement, component/frontend, priority/medium, status/ready
마일스톤: Phase 10: 사용자 친화적 다중 DB 관리

Story 1: 스마트 DB 설정 마법사
- As a 신규 사용자
- I want 단계별 가이드를 통해 첫 번째 데이터베이스를 쉽게 등록하고 싶다
- So that 복잡한 설정 없이도 빠르게 백업 시스템을 시작할 수 있다

수용 기준:
- [x] 3단계 설정 마법사 (DB 선택 → 연결 정보 → 백업 설정)
- [x] 각 단계별 명확한 안내 메시지
- [x] 일반적인 설정값 추천 (기본 포트, 권장 백업 주기 등)
- [x] 설정 완료 후 첫 번째 백업 자동 실행 옵션

Story 2: 설정 템플릿 및 복사 기능
- As a 백업 관리자
- I want 기존 DB 설정을 템플릿으로 저장하고 새 DB에 적용하고 싶다
- So that 유사한 환경의 DB들을 빠르게 등록할 수 있다

수용 기준:
- [x] 설정 템플릿 저장 기능
- [x] 템플릿 목록 관리 (생성, 수정, 삭제)
- [x] 기존 DB 설정 복사 기능
- [x] 템플릿 적용 시 필요한 부분만 수정 가능

Story 3: 다국어 지원 및 접근성 개선
- As a 다양한 배경의 사용자
- I want 한국어로 된 명확한 인터페이스를 사용하고 싶다
- So that 언어 장벽 없이 시스템을 사용할 수 있다

수용 기준:
- [x] 한국어 UI 텍스트 완성
- [x] 오류 메시지 한국어 번역
- [x] 도움말 및 툴팁 한국어 제공
- [x] 키보드 네비게이션 지원
- [x] 스크린 리더 호환성

📅 Phase 10 실행 계획

Phase 10.1 (웹 기반 다중 DB 등록)

  • 현재 웹 인터페이스 다중 DB 지원 상태 분석
  • DB 타입 선택 UI 구현
  • 동적 폼 필드 구현
  • 연결 테스트 기능 구현

Phase 10.2 (모니터링 대시보드 개선)

  • 다중 DB 상태 시각화
  • 백업 진행 상황 추적
  • 성능 메트릭 비교 기능

Phase 10.3 (사용자 경험 최적화)

  • 설정 마법사 구현
  • 템플릿 및 복사 기능
  • 다국어 지원 및 접근성 개선

🎯 Phase 10 성공 기준

정량적 지표

  • 비개발자가 5분 내에 새 DB 등록 완료 가능
  • DB 연결 테스트 성공률 95% 이상
  • 설정 오류로 인한 백업 실패율 10% 이하 감소
  • 사용자 만족도 4.5/5.0 이상

정성적 지표

  • YAML 파일 직접 편집 불필요
  • 직관적인 사용자 인터페이스
  • 명확한 오류 메시지 및 가이드
  • 다양한 사용자 레벨 지원

🔗 관련 문서