[Feat#1] multi module and git#2
Merged
Merged
Conversation
- Add core, data, domain, and presentation modules to `settings.gradle.kts`. - Expand `.gitignore` with comprehensive rules for Android, IntelliJ, macOS, Windows, and Linux.
- `core:designsystem` 모듈을 신규 생성하고 관련 Gradle 및 AndroidManifest 설정을 추가하였습니다. - 기존 `app` 모듈에 위치하던 테마 관련 파일(`Color.kt`, `Theme.kt`, `Type.kt`)을 `core:designsystem` 모듈로 이동하고 패키지 명을 변경하였습니다. - `Pretendard` 폰트 리소스 파일들을 `core:designsystem` 모듈에 추가하였습니다.
- `core:navigation` 모듈을 신규 생성하고 관련 Gradle 및 `.gitignore` 설정을 추가하였습니다. - 네비게이션 구조 정의를 위한 `Route` 및 `MainTabRoute` 인터페이스를 추가하였습니다.
- `core:network` 모듈을 신규 생성하고 필요한 라이브러리 의존성(Retrofit, OkHttp, Serialization)을 추가하였습니다. - Hilt를 사용하여 `NetworkModule`을 구현하고 Retrofit, OkHttpClient, LoggingInterceptor, Converter Factory를 위한 Provider를 정의하였습니다. - `BuildConfig`에 정의된 `BASE_URL`을 사용하여 Retrofit의 기본 설정을 완료하였습니다.
- `domain` 모듈을 신규 생성하고 `build.gradle.kts` 설정을 추가하였습니다. - Java 및 Kotlin JVM 타겟을 11로 설정하였습니다. - 기본 패키지 경로에 `MyClass.kt` 파일을 추가하였습니다.
- `presentation` 모듈을 신규 생성하였습니다. - Java 및 Kotlin JVM 타겟을 11로 설정한 `build.gradle.kts`를 추가하였습니다. - 모듈별 `.gitignore` 설정을 추가하였습니다.
- `presentation:main` 모듈을 신규 생성하고 관련 Gradle, AndroidManifest, ProGuard 설정을 추가하였습니다. - `app` 모듈에 위치하던 `MainActivity.kt`를 `presentation:main` 모듈로 이동하고 패키지 명을 변경하였습니다. - `MainActivity`에 `@AndroidEntryPoint` 어노테이션을 추가하고, 테마 임포트 경로를 `core:designsystem`으로 업데이트하였습니다.
- `HiltAndroidApp` 어노테이션이 적용된 `FocpetApplication` 클래스를 추가하였습니다. - 애플리케이션 초기화 시 `Timber` 로그 설정 및 다크모드 비활성화(`MODE_NIGHT_NO`) 처리를 추가하였습니다. - `Coil` 이미지 로더 커스텀 설정을 위해 `ImageLoaderFactory`를 구현하였습니다. - `AndroidManifest.xml`에 `FocpetApplication`을 등록하고, `MainActivity`의 패키지 경로를 수정하였습니다.
- `MainActivity`에서 기존 샘플 코드를 제거하고 `MainScreen`을 호출하도록 변경하였습니다. - `MainScreen`을 구현하여 Toast, Snackbar, Dialog 등의 글로벌 UI 이벤트를 처리하기 위한 `GlobalUiEventHolder` 및 `CompositionLocalProvider` 설정을 추가하였습니다. - 네비게이션 상태 및 하단 바 가시성 등을 관리하는 `MainAppState` 클래스와 `rememberMainAppState` 함수를 추가하였습니다. - 다이얼로그 상태를 관리하기 위한 `DialogStateHolder`를 추가하였습니다. - 메인 탭 구성을 위한 `MainTab` enum 클래스를 정의하였습니다.
- `gradle.properties` 설정을 통해 빌드 성능을 최적화하였습니다. (JVM 메모리 상향, parallel execution, build cache, configuration cache 활성화) - `android.nonTransitiveRClass`, `android.builtInKotlin`, `android.uniquePackageNames` 등 프로젝트 안정성 및 성능 향상을 위한 옵션을 추가하였습니다. - `core:localstorage` 모듈을 `settings.gradle.kts`에 추가하였습니다.
- `UiState` sealed interface 추가로 공통 UI 상태 관리 구조 정의 - `GlobalUiEventHolder` 및 `LocalGlobalUiEventTrigger`를 통한 전역 UI 이벤트(Dialog, Toast, Snackbar) 처리 체계 구축 - `Flow` 및 `StateFlow` 확장 함수 추가 (`collectSideEffect`, `collectSingleEvent`, `updateSuccess`) - `Modifier` 확장 함수 추가 (리플 없는 클릭, 이미지 크기 조정) - 네트워크 예외 처리 로직(`toHandleErrorMessage`) 및 Coroutine safe한 `suspendRunCatching` 유틸리티 추가
- `core:network` 모듈의 `NetworkModule.kt` 파일을 `di` 패키지로 이동하고 패키지 경로를 수정하였습니다. - `NetworkModule`에서 `Json.Default`를 사용하도록 수정하였습니다. - `app` 모듈에 이미지 로딩 최적화를 위한 `CoilModule`을 추가하였습니다. - `core:network` 모듈에 공통 응답 규격을 위한 `BaseResponse.kt` 정의를 추가하였습니다(현재 주석 처리됨).
- `domain` 모듈의 기존 소스 코드 및 빌드 설정을 삭제하고 디렉토리 유지를 위해 `.gitkeep`을 추가하였습니다. - `core:localstorage` 모듈을 신규 생성하고 관련 Gradle 및 Manifest 설정을 추가하였습니다. - `core:common` 모듈에 `focpet.android.compose` 컨벤션 플러그인을 추가하였습니다.
- Claude Code 도구 사용 시 생성되는 프로젝트 가이드 파일인 `CLAUDE.md`를 Git 관리 대상에서 제외하도록 추가하였습니다.
- `.github/pull_request_template.md`를 추가하여 PR의 작업 내용 및 스크린샷 등을 기록할 수 있는 공통 양식을 정의하였습니다. - `.github/ISSUE_TEMPLATE/issue_template.md`를 추가하여 이슈 설명 및 할 일 목록을 관리할 수 있도록 하였습니다. - `.github/workflows/auto_assign_action.yml` 및 `auto_assign.yml`을 추가하여 PR 생성 시 작성자 자동 할당 및 리뷰어 자동 지정을 위한 워크플로우를 설정하였습니다.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
ISSUE
❗ WORK DESCRIPTION
Uncompleted Tasks 😅
📸 SCREENSHOT