Skip to content

ANDROID-Sejong/HealthMe-Android-Compose

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