프로젝트 소개
Kairós는 캘린더 약속을 전체 화면 알람으로 전환하여 일정을 놓치기 어렵게 만드는 Android 및 Wear OS 애플리케이션입니다. 기기에 설정된 모든 캘린더 계정에서 이벤트를 읽고 백그라운드에서 알림을 예약합니다.
README에 설명된 주요 기능:
- 잠겨 있을 때도 기기를 깨우는 전체 화면 알람으로, 휴대폰과 워치에서 시각 및 소리 알림을 제공합니다.
- Wear OS 통합: 다음 이벤트를 보여주는 워치 페이스 컴플리케이션과 빠른 이벤트 접근을 위한 타일.
- WorkManager를 통한 백그라운드 예약과 영속성 및 알람을 위한 DataStore, Room, AlarmManager.
- AI 기능: 사용자의 일정에 기반한 스트리밍 채팅 답변, 일일 브리핑, 도구 호출을 제공하는 AI 에이전트. 클라우드 Gemini Pro/Flash는 복잡한 작업과 함수 호출을 처리하며, Gemini Nano는 개인정보 보호와 속도를 위해 온디바이스 추론에 우선 사용되고 지원되지 않을 때 클라우드로 폴백합니다.
- SAFE, MODERATE, CRITICAL 위험 수준을 가진 도구 호출 안전 모델. 이벤트 생성과 같은 중요한 작업은 명시적인 사용자 확인이 필요합니다.
- 안정성 제어: 스트리밍 응답, 콘텐츠가 스트리밍되기 전 백오프를 통한 재시도, 클라이언트 측 속도 제한, UI에 표시되는 타입화된 오류.
- Android AppFunctions(API 36+)가 createEvent와 getDailyBriefing을 시스템 어시스턴트에 노출합니다.
- 전역 또는 이벤트별 알람 토글.
아키텍처 및 스택: 100% Kotlin, 휴대폰과 Wear OS용 Jetpack Compose, 단방향 데이터 흐름을 갖춘 MVVM + MVI, Clean Architecture, 그리고 기능 bridge/impl 쌍, core 모듈, 컨벤션 플러그인, Gradle 버전 카탈로그로 구성된 멀티 모듈 레이아웃. 내비게이션은 AppNavigator seam을 통해 Navigation 3를 사용합니다. 의존성에는 Hilt, Coroutines/Flow, Firebase AI, Wearable Data Layer가 포함되며 JUnit4, Robolectric, Turbine, MockK로 테스트합니다.
README에는 빌드 전제 조건(Android Studio Jellyfish+, JDK 21, SDK 36), 앱 및 wear 모듈용 CLI 설치 명령, 단위 테스트 및 Jacoco 커버리지 작업, Spotless 포매팅이 문서화되어 있으며 릴리스 빌드에는 google-services.json과 서명/광고 구성이 필요하다는 점을 명시합니다. Google Play 다운로드 링크가 제공됩니다. 이 프로젝트는 tonimadev가 개발하며 기여를 받습니다.
Comments
0 people shared their preference · Deer Point appears after 10 participants
Sign in to join the discussion.