feat: API 통합 2차 작업 완료
- 자동 로그인 구현: 앱 시작 시 토큰 확인 후 적절한 화면으로 라우팅 - AuthInterceptor 개선: AuthService와 통합하여 토큰 관리 일원화 - 로그아웃 기능 개선: AuthService를 사용한 API 로그아웃 처리 - 대시보드 API 연동: MockDataService에서 실제 API로 완전 전환 - Dashboard DTO 모델 생성 (OverviewStats, RecentActivity 등) - DashboardRemoteDataSource 및 DashboardService 구현 - OverviewController를 ChangeNotifier 패턴으로 개선 - OverviewScreenRedesign에 Provider 패턴 적용 - API 통합 진행 상황 문서 업데이트
This commit is contained in:
@@ -892,7 +892,9 @@ class ErrorHandler {
|
||||
|
||||
## 🔄 구현 진행 상황 (2025-07-24)
|
||||
|
||||
### 완료된 작업
|
||||
### 🎯 완료된 작업
|
||||
|
||||
#### 1차 작업 (2025-07-24 오전)
|
||||
1. **Auth 관련 DTO 모델 생성**
|
||||
- LoginRequest, LoginResponse, TokenResponse, RefreshTokenRequest
|
||||
- AuthUser, LogoutRequest
|
||||
@@ -916,13 +918,67 @@ class ErrorHandler {
|
||||
- AuthRemoteDataSource, AuthService DI 등록
|
||||
- GetIt을 통한 의존성 관리
|
||||
|
||||
### 다음 작업
|
||||
1. API 서버 실행 및 연동 테스트
|
||||
2. 자동 로그인 구현
|
||||
3. AuthInterceptor 개선 (AuthService 사용)
|
||||
4. 로그아웃 기능 UI 추가
|
||||
5. 대시보드 및 기타 화면 API 연동
|
||||
#### 2차 작업 (2025-07-24 오후)
|
||||
6. **자동 로그인 구현 ✅**
|
||||
- main.dart에 FutureBuilder를 사용하여 토큰 확인
|
||||
- 유효한 토큰이 있으면 홈 화면, 없으면 로그인 화면으로 라우팅
|
||||
- LoginScreen에서 로그인 성공 시 pushNamedAndRemoveUntil 사용
|
||||
|
||||
7. **AuthInterceptor 개선 ✅**
|
||||
- AuthService를 DI로 주입받도록 변경
|
||||
- 토큰 가져오기, 갱신, 삭제 로직을 AuthService로 일원화
|
||||
- 401 에러 시 자동 토큰 갱신 및 재시도 로직 개선
|
||||
|
||||
8. **로그아웃 기능 개선 ✅**
|
||||
- AppLayoutRedesign에 AuthService import 추가
|
||||
- 로그아웃 버튼 클릭 시 AuthService.logout() 호출
|
||||
- 로딩 다이얼로그 및 에러 처리 추가
|
||||
|
||||
9. **대시보드 API 연동 ✅**
|
||||
- **DTO 모델 생성**: OverviewStats, RecentActivity, EquipmentStatusDistribution, ExpiringLicense
|
||||
- **DashboardRemoteDataSource 구현**: 모든 API 엔드포인트 연동
|
||||
- **DashboardService 구현**: 비즈니스 로직 처리
|
||||
- **OverviewController 개선**: ChangeNotifier 패턴으로 변경, API 사용
|
||||
- **OverviewScreenRedesign 수정**: Provider 패턴 적용, 로딩/에러 상태 처리
|
||||
- **DI 등록**: DashboardRemoteDataSource, DashboardService 등록
|
||||
|
||||
10. **API 서버 설정 ✅**
|
||||
- .env 파일 생성 및 환경 변수 설정
|
||||
- JWT 비밀키 및 데이터베이스 연결 정보 설정
|
||||
|
||||
### 📦 다음 작업
|
||||
1. **API 서버 실행 및 테스트**
|
||||
- Docker Compose로 PostgreSQL, Redis 실행
|
||||
- cargo run으로 API 서버 실행
|
||||
- Flutter 앱과 연동 테스트
|
||||
|
||||
2. **장비 관리 API 연동**
|
||||
- EquipmentDTO 모델 생성
|
||||
- EquipmentRemoteDataSource 구현
|
||||
- EquipmentService 생성
|
||||
- 장비 목록/상세/입고/출고 화면 API 연동
|
||||
|
||||
3. **회사/사용자 관리 API 연동**
|
||||
- CompanyService, UserService 구현
|
||||
- 각 화면 API 연동
|
||||
|
||||
4. **성능 최적화**
|
||||
- 캐싱 전략 구현
|
||||
- 페이지네이션 및 무한 스크롤
|
||||
- 이미지 로딩 최적화
|
||||
|
||||
### 📈 진행률
|
||||
- **전체 API 통합**: 30% 완료
|
||||
- **인증 시스템**: 100% 완료
|
||||
- **대시보드**: 100% 완료
|
||||
- **장비 관리**: 0% (대기 중)
|
||||
- **회사/사용자 관리**: 0% (대기 중)
|
||||
|
||||
### 📋 주요 부분
|
||||
- **한글 입력**: 모든 API 요청/응답에서 UTF-8 인코딩 적용
|
||||
- **사이드 이펙트 방지**: MockDataService와 API 서비스 공존 가능
|
||||
- **에러 처리**: 네트워크 오류, 서버 오류, 인증 오류 분리 처리
|
||||
|
||||
---
|
||||
|
||||
_마지막 업데이트: 2025-07-24_ (인증 시스템 구현 완료)
|
||||
_마지막 업데이트: 2025-07-24 오후_ (자동 로그인, AuthInterceptor 개선, 로그아웃 기능, 대시보드 API 연동 완료)
|
||||
Reference in New Issue
Block a user