LifeLog (라이프로그)
LifeLog는 사용자의 일상적인 활동과 시간을 기록하고, 루틴을 점검하며 장단기 목표를 달성할 수 있도록 돕는 생산성 관리 안드로이드 애플리케이션입니다.
🛠 기술 스택 (Tech Stack)
- Platform: Android (Min SDK 24, Target SDK 36)
- Language: Kotlin 1.9+
- UI Framework: Jetpack Compose, Material 3
- Local Database: Room Database
- Charts/Graphs: Vico (Compose Charting Library)
- Async & State: Coroutines / ViewModel / Compose State
🎯 주요 기능 (Key Features)
-
시간/활동 기록 및 타이머 (Time Tracking & Records)
- 스톱워치/타이머를 활용한 활동 시간 실시간 기록 (
RecordTimerActivity) - 세부 일정 추가 및 수정 (
AddRecordActivity,EditRecordActivity) - 누적 기록 조회 화면 (
AllRecordsActivity,CategoryRecordsActivity)
- 스톱워치/타이머를 활용한 활동 시간 실시간 기록 (
-
계층형 카테고리 및 목표 관리 (Hierarchical Category & Goal)
- 트리 구조(대분류-중분류-소분류)로 체계화된 카테고리 구성
- 카테고리 단위별 목표 시간 및 달성률 관리 (
CategoryHierarchyActivity)
-
습관 및 루틴 관리 (Routine Management)
- 주기적인 습관과 루틴 추가 및 상태 확인 (
RoutineActivity) - 개별 루틴 성과 상세 체크 인터페이스 (
RoutineExecutionActivity)
- 주기적인 습관과 루틴 추가 및 상태 확인 (
-
오늘의 할 일 (Today's Tasks)
- 오늘 하루 해야 할 일 목록을 필터링 및 정렬하여 관리 (
TodayTasksActivity)
- 오늘 하루 해야 할 일 목록을 필터링 및 정렬하여 관리 (
-
통계 및 대시보드 (Dashboard & Stats)
- Vico 라이브러리를 활용해 누적된 시간/루틴 데이터의 시각화 및 직관적 통계 제공 (
StatsTab,StatsViewModel)
- Vico 라이브러리를 활용해 누적된 시간/루틴 데이터의 시각화 및 직관적 통계 제공 (
📁 주요 디렉토리 구조 (Structure)
app/src/main/java/com/example/lifelog/
├── components/ # Jetpack Compose UI 컴포넌트 모음
│ ├── common/ # 공용 버튼, 카드, 다이얼로그, 입력 폼 등
│ ├── home/ # 홈 화면의 섹션별 UI (진척도, 검색, 루틴 등)
│ ├── record/ # 기록 상세 폼 및 체크박스 컴포넌트
│ ├── timer/ # 타이머 화면 컴포넌트
│ ├── todaytasks/ # 오늘 할 일 항목 컴포넌트
│ └── goal/ # 목표 관리 및 커스텀 다이얼로그 컴포넌트
├── data/ # 상태 및 데이터 모델 속성 정의
├── *Activity.kt # 시스템 진입점 및 컨테이너 (Onboarding, Home 등)
├── *ViewModel.kt # 상태 및 비즈니스 로직 관리 (StatsViewModel 등)
└── *Manager/*Utils.kt # 루틴 매니저, 시간 포맷, 카테고리 검증 유틸
📝 개발자 참고 사항 (Notice)
사용자의 안티 그래비티 아키텍처 환경에 설정된 Flutter 룰과 무관하게, 현재 앱 소스코드는 Pure Android Native(Kotlin + Compose) 스택으로 작성되어 있습니다. 따라서 빌드 및 관리 시 Gradle 시스템을 사용합니다.