Migrate from Supabase to Appwrite with core functionality and UI components
This commit is contained in:
223
docs/archive/03_개발_단계/3단계/3단계_계획.md
Normal file
223
docs/archive/03_개발_단계/3단계/3단계_계획.md
Normal file
@@ -0,0 +1,223 @@
|
||||
/Users/hansoo./Documents/my vault/3. Resource/Users/hansoo./Documents/my vault/3. Resource# 적자 탈출 가계부 - 3단계 계획
|
||||
|
||||
## 1. 3단계 목표
|
||||
|
||||
3단계의 주요 목표는 적자 탈출 가계부 앱의 프론트엔드를 개발하고, 백엔드 API와 연동하여 완전한 사용자 경험을 제공하는 것입니다. 이 단계에서는 Flutter를 사용하여 크로스 플랫폼 모바일 앱을 개발합니다.
|
||||
|
||||
### 핵심 목표
|
||||
1. [x] Flutter 프로젝트 설정 및 기본 구조 구현
|
||||
2. [x] UI 컴포넌트 개발 및 디자인 시스템 구축
|
||||
3. [ ] 백엔드 API와의 연동 구현
|
||||
4. [x] 핵심 화면 및 기능 구현
|
||||
5. [ ] 사용자 테스트 및 피드백 수집
|
||||
|
||||
## 2. 작업 목록 및 일정
|
||||
|
||||
### 1일차: 개발 환경 설정 및 프로젝트 구조 설계
|
||||
|
||||
#### 오전
|
||||
- [x] [사용자] Flutter 개발 환경 설정
|
||||
- [x] [AI] Flutter 프로젝트 생성 및 기본 설정 가이드 작성
|
||||
- [x] [공동] 프로젝트 구조 및 아키텍처 설계
|
||||
|
||||
#### 오후
|
||||
- [x] [AI] 상태 관리 전략 수립 (Provider, Bloc, Riverpod 등)
|
||||
- [x] [AI] 라우팅 및 네비게이션 설계
|
||||
- [x] [사용자] 기본 프로젝트 구조 검증 및 테스트
|
||||
|
||||
### 2일차: 디자인 시스템 및 UI 컴포넌트 개발
|
||||
|
||||
#### 오전
|
||||
- [x] [AI] 디자인 시스템 설계
|
||||
- [x] 색상 팔레트 및 테마 설정
|
||||
- [x] 타이포그래피 스타일 정의
|
||||
- [x] 공통 UI 컴포넌트 디자인
|
||||
|
||||
#### 오후
|
||||
- [x] [AI] 기본 UI 컴포넌트 구현
|
||||
- [x] 버튼, 입력 필드, 카드 등 기본 컴포넌트
|
||||
- [x] 커스텀 위젯 및 애니메이션
|
||||
- [x] 반응형 레이아웃 구현
|
||||
|
||||
### 3-4일차: 화면 개발 및 API 연동
|
||||
|
||||
#### 3일차 오전
|
||||
- [x] [AI] 인증 관련 화면 개발
|
||||
- [x] 로그인 화면
|
||||
- [x] 회원가입 화면
|
||||
- [x] 비밀번호 재설정 화면
|
||||
|
||||
#### 3일차 오후
|
||||
- [x] [AI] 인증 API 연동
|
||||
|
||||
{{ ... }}
|
||||
|
||||
### 5일차: 지출 관리 기능 개발
|
||||
|
||||
#### 오전
|
||||
- [x] [AI] 지출 추가/편집 화면 개발
|
||||
- [x] [AI] 지출 목록 및 상세 화면 개발
|
||||
|
||||
#### 오후
|
||||
- [x] [AI] 지출 관리 API 연동
|
||||
- [x] [AI] 지출 필터링 및 검색 기능 구현
|
||||
|
||||
### 6일차: 예산 관리 및 프로필 기능 개발
|
||||
|
||||
#### 오전
|
||||
- [x] [AI] 예산 관리 화면 개발
|
||||
- [x] 예산 설정 화면
|
||||
- [x] 예산 사용 현황 표시
|
||||
- [x] 카테고리별 예산 관리
|
||||
|
||||
#### 오후
|
||||
- [x] [AI] 프로필 화면 개발
|
||||
- [x] 사용자 정보 표시 및 수정
|
||||
- [x] 테마 설정 (라이트/다크 모드)
|
||||
- [x] 언어 설정
|
||||
- [x] 로그아웃 기능
|
||||
|
||||
### 7일차: 통계 및 분석 기능 개발
|
||||
|
||||
#### 오전
|
||||
- [x] [AI] 통계 화면 개발
|
||||
- [x] 지출 추이 차트
|
||||
- [x] 카테고리별 지출 분석
|
||||
- [x] 기간별 지출 비교
|
||||
|
||||
#### 오후
|
||||
- [x] [AI] 분석 기능 구현
|
||||
- [x] 지출 패턴 분석
|
||||
- [x] 예산 대비 지출 분석
|
||||
- [x] 절약 제안 기능
|
||||
|
||||
### 8일차: 오프라인 동기화 기능 개발
|
||||
|
||||
#### 오전
|
||||
- [x] [AI] 오프라인 동기화 인프라 구축
|
||||
- [x] 동기화 큐 서비스 구현
|
||||
- [x] 로컬 데이터베이스 서비스 구현
|
||||
- [x] 네트워크 연결 상태 모니터링 서비스 구현
|
||||
|
||||
#### 오후
|
||||
- [x] [AI] 동기화 UI/UX 구현
|
||||
- [x] 동기화 상태 위젯 개발
|
||||
- [x] 동기화 대시보드 위젯 개발
|
||||
- [x] 동기화 상태 화면 개발
|
||||
- [x] 동기화 정책 설정 기능 구현
|
||||
|
||||
### 9일차: 오프라인 동기화 기능 테스트 및 개선
|
||||
|
||||
#### 오전
|
||||
- [x] [AI] 동기화 기능 테스트
|
||||
- [x] 다양한 네트워크 상황에서의 동기화 테스트
|
||||
- [x] 오류 처리 및 재시도 메커니즘 테스트
|
||||
- [x] 대용량 데이터 동기화 테스트
|
||||
|
||||
#### 오후
|
||||
- [x] [AI] 동기화 기능 개선
|
||||
- [x] 성능 최적화
|
||||
- [x] 사용자 경험 개선
|
||||
- [x] 오류 처리 메커니즘 강화
|
||||
|
||||
{{ ... }}
|
||||
|
||||
## 5. 진행 상황 요약 (2025-02-28 업데이트)
|
||||
|
||||
### 완료된 작업
|
||||
1. **프로젝트 기본 구조 구현**
|
||||
- Flutter 프로젝트 생성 및 설정
|
||||
- 디렉토리 구조 및 아키텍처 설계
|
||||
- Provider 패턴 기반 상태 관리 구현
|
||||
|
||||
2. **디자인 시스템 구축**
|
||||
- 앱 테마 설정 (라이트/다크 모드)
|
||||
- 색상 팔레트 및 타이포그래피 정의
|
||||
- 공통 UI 컴포넌트 구현
|
||||
|
||||
3. **핵심 화면 개발**
|
||||
- 스플래시 화면
|
||||
- 로그인/회원가입 화면
|
||||
- 홈 화면 (지출 요약 및 최근 지출 목록)
|
||||
- 지출 추가/편집/상세 화면
|
||||
- 예산 관리 화면
|
||||
- 프로필 화면
|
||||
- 동기화 상태 화면
|
||||
- 통계 및 분석 화면
|
||||
|
||||
4. **서비스 레이어 구현**
|
||||
- StorageService: Hive를 사용한 로컬 데이터 저장
|
||||
- AuthService: 사용자 인증 관리
|
||||
- ExpenseService: 지출 데이터 관리
|
||||
- BudgetService: 예산 데이터 관리
|
||||
- ApiService: 백엔드 API 통신
|
||||
- SyncQueueService: 오프라인 동기화 작업 관리
|
||||
- LocalDatabaseService: 로컬 데이터베이스 관리
|
||||
- ConnectivityService: 네트워크 연결 상태 모니터링
|
||||
|
||||
5. **모델 구현**
|
||||
- UserModel: 사용자 정보 모델
|
||||
- ExpenseModel: 지출 정보 모델
|
||||
- BudgetModel: 예산 정보 모델
|
||||
- CategoryConstants: 카테고리 상수 정의
|
||||
- SyncOperation: 동기화 작업 모델
|
||||
- SyncOperationType: 작업 유형 열거형
|
||||
- SyncStatus: 작업 상태 열거형
|
||||
|
||||
6. **프로바이더 구현**
|
||||
- UserProvider: 사용자 상태 관리
|
||||
- ExpenseProvider: 지출 상태 관리
|
||||
- BudgetProvider: 예산 상태 관리
|
||||
- ThemeProvider: 테마 상태 관리
|
||||
- ConnectivityProvider: 네트워크 연결 상태 관리
|
||||
|
||||
7. **오프라인 동기화 기능 구현**
|
||||
- 오프라인 작업 큐 관리 시스템
|
||||
- 동기화 상태 위젯 (SyncStatusWidget)
|
||||
- 동기화 대시보드 위젯 (SyncDashboardWidget)
|
||||
- 동기화 상태 화면 (SyncStatusScreen)
|
||||
- 네트워크 상태에 따른 자동/수동 동기화 정책
|
||||
- 작업 재시도 및 오류 처리 메커니즘
|
||||
- 동기화 작업 상태 추적 (대기, 진행 중, 완료, 실패)
|
||||
|
||||
8. **통계 및 분석 기능 구현**
|
||||
- 지출 추이 차트 구현
|
||||
- 카테고리별 지출 분석 시각화
|
||||
- 기간별 지출 비교 기능
|
||||
- 지출 패턴 분석 알고리즘
|
||||
- 예산 대비 지출 분석 대시보드
|
||||
- 절약 제안 기능
|
||||
|
||||
### 진행 중인 작업
|
||||
1. 오프라인 동기화 기능 테스트 및 안정화
|
||||
2. 테스트 환경 구성 (웹, 에뮬레이터)
|
||||
3. 대용량 데이터 동기화 성능 최적화
|
||||
|
||||
### 다음 작업 계획
|
||||
1. 동기화 작업 우선순위 설정 기능 구현
|
||||
2. 충돌 해결 메커니즘 구현
|
||||
3. 동기화 통계 및 로그 기능 강화
|
||||
4. 성능 최적화 및 버그 수정
|
||||
5. 사용자 테스트 및 피드백 수집
|
||||
6. 앱 출시 준비 (앱 스토어 등록 등)
|
||||
|
||||
### 기술적 이슈 및 해결 방안
|
||||
1. **폰트 호환성 문제**
|
||||
- 문제: Pretendard 폰트 사용 시 오류 발생
|
||||
- 해결: Google Fonts의 Noto Sans로 대체하여 해결
|
||||
|
||||
2. **라우팅 충돌 문제**
|
||||
- 문제: 라우트 이름과 변수명 충돌
|
||||
- 해결: 라우트 이름 변수를 더 명확한 이름으로 변경 (settings → settingsRoute)
|
||||
|
||||
3. **API 연동 문제**
|
||||
- 문제: 싱글톤 패턴 구현 시 의존성 주입 이슈
|
||||
- 해결: 생성자에서 선택적 매개변수를 통한 의존성 주입 방식 개선
|
||||
|
||||
4. **오프라인 동기화 이슈**
|
||||
- 문제: 네트워크 연결 복구 시 동기화 작업 중복 실행
|
||||
- 해결: 작업 ID 기반 중복 방지 메커니즘 구현
|
||||
|
||||
5. **로컬 데이터베이스 성능 이슈**
|
||||
- 문제: 대용량 데이터 처리 시 지연 발생
|
||||
- 해결: 인덱싱 및 페이지네이션 적용, 비동기 처리 최적화
|
||||
Reference in New Issue
Block a user