refactor: Clean Architecture 적용 및 코드베이스 전면 리팩토링
## 주요 변경사항 ### 아키텍처 개선 - Clean Architecture 패턴 적용 (Domain, Data, Presentation 레이어 분리) - Use Case 패턴 도입으로 비즈니스 로직 캡슐화 - Repository 패턴으로 데이터 접근 추상화 - 의존성 주입 구조 개선 ### 상태 관리 최적화 - 모든 Controller에서 불필요한 상태 관리 로직 제거 - 페이지네이션 로직 통일 및 간소화 - 에러 처리 로직 개선 (에러 메시지 한글화) - 로딩 상태 관리 최적화 ### Mock 서비스 제거 - MockDataService 완전 제거 - 모든 화면을 실제 API 전용으로 전환 - 불필요한 Mock 관련 코드 정리 ### UI/UX 개선 - Overview 화면 대시보드 기능 강화 - 라이선스 만료 알림 위젯 추가 - 사이드바 네비게이션 개선 - 일관된 UI 컴포넌트 사용 ### 코드 품질 - 중복 코드 제거 및 함수 추출 - 파일별 책임 분리 명확화 - 테스트 코드 업데이트 ## 영향 범위 - 모든 화면의 Controller 리팩토링 - API 통신 레이어 구조 개선 - 에러 처리 및 로깅 시스템 개선 ## 향후 계획 - 단위 테스트 커버리지 확대 - 통합 테스트 시나리오 추가 - 성능 모니터링 도구 통합
This commit is contained in:
@@ -47,28 +47,8 @@ class Environment {
|
||||
}
|
||||
}
|
||||
|
||||
/// API 사용 여부 (false면 Mock 데이터 사용)
|
||||
static bool get useApi {
|
||||
try {
|
||||
final useApiStr = dotenv.env['USE_API'];
|
||||
if (enableLogging && kDebugMode) {
|
||||
debugPrint('[Environment] USE_API 원시값: $useApiStr');
|
||||
}
|
||||
if (useApiStr == null || useApiStr.isEmpty) {
|
||||
if (enableLogging && kDebugMode) {
|
||||
debugPrint('[Environment] USE_API가 설정되지 않음, 기본값 true 사용');
|
||||
}
|
||||
return true;
|
||||
}
|
||||
final result = useApiStr.toLowerCase() == 'true';
|
||||
if (enableLogging && kDebugMode) {
|
||||
debugPrint('[Environment] USE_API 최종값: $result');
|
||||
}
|
||||
return result;
|
||||
} catch (e) {
|
||||
return true; // 기본값
|
||||
}
|
||||
}
|
||||
/// API 사용 여부 (Mock 서비스 제거로 항상 true)
|
||||
static bool get useApi => true;
|
||||
|
||||
/// 환경 초기화
|
||||
static Future<void> initialize([String? environment]) async {
|
||||
@@ -97,8 +77,6 @@ class Environment {
|
||||
debugPrint('[Environment] API Base URL: ${dotenv.env['API_BASE_URL'] ?? '설정되지 않음'}');
|
||||
debugPrint('[Environment] API Timeout: ${dotenv.env['API_TIMEOUT'] ?? '설정되지 않음'}');
|
||||
debugPrint('[Environment] 로깅 활성화: ${dotenv.env['ENABLE_LOGGING'] ?? '설정되지 않음'}');
|
||||
debugPrint('[Environment] API 사용 (원시값): ${dotenv.env['USE_API'] ?? '설정되지 않음'}');
|
||||
debugPrint('[Environment] API 사용 (getter): $useApi');
|
||||
}
|
||||
} catch (e) {
|
||||
if (kDebugMode) {
|
||||
|
||||
Reference in New Issue
Block a user