Skip to content

기존 Xml코드를 compose방식으로 구현해보는 레포지토리 입니다.

Notifications You must be signed in to change notification settings

ANDROID-Sejong/HealthMe-Android-Compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

191 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

이전에 만들었던 HealthMe 프로젝트를 이용하여 기존 xml기반 UI를 compose기반 UI로 리펙토링하면서 컴포저블UI에 대해 익숙해져보는 Project

✨ Tech Stack & Tools ✨

Jetpack Compose MVVM ViewModel Navigation3 Coroutine Koin


개발 진척 일지

2025-12-07

  • Environment: Gradle, Kotlin, AGP 버전 업데이트, compileSdk 36 설정
  • Chore: 불필요한 설정 파일 제거 및 .gitignore 업데이트

2025-12-08

  • UI Components: AuthCodeInputField, EmailAuthInputField, MediumButton, BigButton, InputField 구현 및 스타일 적용
  • Feature:
    • 회원가입 이메일 인증 화면(SetEmail) 및 로직(정규식 검사, 코드 입력 등) 구현
    • 로그인 화면(LogIn) 디자인
    • 앱 첫 실행 화면(FirstScreen) 구현
  • Refactoring: BigButton 재사용성 개선, 입력 필드 UX 개선 (TextField 전환, 한 줄 제한, 키보드 타입 설정)
  • Design System: AppColors, AppFonts, AppTextStyle 등 공통 리소스 및 테마 정의

2025-12-09

  • Feature: 비밀번호 설정 화면(SetPassword) 레이아웃 및 디자인 구현
  • UI Components: PasswordInputField 컴포넌트 구현 및 텍스트 필드 속성 적용
  • Design: 비밀번호 유효성 조건 문구 및 일치 여부 확인용 체크 아이콘 추가

2025-12-13

  • Environment: Android Gradle Plugin(AGP) 버전 업데이트 (8.13.1 -> 8.13.2)

2025-12-14

  • Navigation: Navigation 3kotlinx-serialization 라이브러리 추가, NavigationRoot를 통한 화면 전환 구조(Splash, SetEmail, SetPassword, Login) 구축
  • Feature:
    • Login, SetPassword 화면 Route 정의
    • MediumButton, BigButton 클릭 이벤트 및 활성화 상태 제어 기능 추가
    • 인증 번호 전송/재전송에 따른 UI(버튼, 입력 필드) 상태 제어 로직 구현

2025-12-15

  • Architecture: SetEmailViewModelSetPasswordViewModel 도입으로 UI와 비즈니스 로직 분리 (MVVM 적용)
  • Feature:
    • SetEmail: 이메일 유효성 검사 및 인증 코드 확인 로직 연결, 다음 화면으로 이메일 데이터 전달 구현
    • SetPassword: 비밀번호 유효성 검사 상태 관리 및 UI(체크 아이콘) 연동, 비밀번호 설정 화면 라우팅
    • SetInformation: 개인정보 입력 화면 UI 및 컴포넌트(InformationInputField) 초기 구현
  • Refactoring:
    • EmailAuthInputField 등 주요 입력 필드 상태 호이스팅(State Hoisting) 적용
    • SetEmail, SetPassword 패키지 구조 재정리 및 불필요한 코드/리소스 정리

2025-12-20

  • Feature: 이용약관 동의 관련 컴포넌트(AgreeTerms) 및 다이얼로그 구현, 회원가입 정보 입력 후 약관 동의 화면으로의 내비게이션 연결
  • Refactoring: 약관 동의 관련 변수명 직관적으로 수정 (isNextButtonEnable -> isNextButtonEnabled 등) 및 코드 정리
  • Fix: AgreeTermsDialog 상태 관리 이슈 수정 (rememberSaveable -> remember)
  • Design: AgreeAllTermsButton 체크박스 레이아웃 개선

2025-12-21

  • Architecture: 의존성 주입(DI) 라이브러리 Koin 도입 및 설정 (HealthMeApplication, 모듈 정의)
  • Feature: 회원가입 완료 화면(SignUpComplete) 구현 및 약관 동의 후 라우팅 연결
  • Refactoring: ViewModel 주입 방식 변경 (Factory -> koinViewModel) 및 불필요한 코드 제거
  • Design: 완료 화면 로고 아이콘 추가 및 텍스트 스타일 적용

2025-12-22

  • Feature:
    • 메인 화면(MainScreen) 및 하단 내비게이션(BottomNavigationBar) 구현
    • 주요 탭 화면(홈, 운동, 식단, 스케줄, 마이페이지) 추가 및 라우팅 구성
    • 로그인 완료 후 메인 화면 진입 프로세스 구현
  • Design: 하단 내비게이션 바 아이콘 및 색상 스타일링
  • Refactoring: 내비게이션 백스택 관리 로직 개선 (topLevelBackStack 제거)

2025-12-23

  • Feature:
    • 마이페이지 화면(MyPageScreen) 및 관련 라우팅 구현
    • 프로필 이미지 및 메뉴 구성을 포함한 마이페이지 UI 개발
  • UI Components: MyPageButton 컴포넌트 구현 (아이콘 및 설명 텍스트 동적 처리)
  • Design:
    • 마이페이지용 아이콘 리소스 및 전용 색상 추가
    • Route에 따른 Scaffold 배경색 동적 변경 기능 구현
  • Chore: MainActivity Edge-to-Edge 설정 비활성화

About

기존 Xml코드를 compose방식으로 구현해보는 레포지토리 입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages