AI 기반 감정 케어 다이어리
당신의 일기를 분석하여 감정 상태를 파악하고,
따뜻한 위로의 메시지와 맞춤형 행동 지침을 제공합니다.
로컬 데이터베이스(SQLite)에 안전하게 저장되며, 날짜별로 일기를 관리하고 조회할 수 있습니다.
Groq API (Llama 3.3)를 활용하여 실시간에 가까운 감정 분석을 제공합니다. 캐릭터 선택에 따라 공감 톤이 달라집니다.
감정 추이 차트, 감정 정원(🌱→🌻), 키워드 태그 클라우드로 나의 감정 패턴을 시각화합니다.
AI가 분석한 감정 상태에 기반하여 공감 메시지와 맞춤형 행동 지침을 제안합니다.
모든 일기 데이터는 로컬 기기에만 저장되어 개인 정보가 안전하게 보호됩니다.
320dp~600dp+ 다양한 화면 크기에 최적화된 반응형 디자인으로 모든 기기에서 편안하게 사용할 수 있습니다.
4자리 PIN + SHA-256 암호화로 민감한 일기를 안전하게 보호합니다. 인증된 세션에서만 접근 가능하며 통계에서 완전히 제외됩니다.
v1.4.49까지의 개선 사항을 소개합니다. 디자인 토큰 시스템 확립, 스플래시 애니메이션 리디자인, 접근성 Sprint 완료, FCM 멱등성 Pre-lock 패턴, 비밀일기 보안 기능 등 대규모 업데이트가 이루어졌습니다.
Primary 색상을 스카이 블루(#87CEEB)로 확립하고 AppColors.primary(아이콘/강조) / AppColors.primaryDark(텍스트, WCAG AA 4.5:1) / AppTheme.primaryColor(theme 경유) 삼각형 토큰 체계를 설계했습니다. 텍스트에 primary 직접 사용 시 대비율 1.7:1 미달 문제를 구조적으로 방지합니다. // design-ok 이스케이프 패턴으로 BlendMode 등 불가피한 예외만 명시적으로 허용합니다.
_entranceController(800ms one-shot, easeOutBack) + _loopController(2500ms repeat/reverse) 이중 컨트롤러로 일회성 진입과 반복 루프를 분리했습니다. Listenable.merge([c1, c2]) 기반 AnimatedBuilder로 두 컨트롤러를 단일 리빌드 트리로 통합하여 addStatusListener cascade 패턴을 구현했습니다.
전체 14개 화면에 AccessibilityWrapper(screenTitle:)를 적용하고 theme-aware 색상 매핑을 완성했습니다(Colors.black87→scrim.withValues(), Colors.white→onSurface, Colors.grey[900]→surfaceContainerLowest). diary_item_card에 AppAccessibility.diaryItemLabel()을 도입해 date/sentimentScore/contentPreview/keywords를 시맨틱으로 노출합니다.
Firebase Functions retry + Firestore 부분 실패로 인한 3회 중복 발송 문제를 Firestore create() 원자적 잠금으로 해결했습니다. 기존 check-send-mark 패턴의 race condition을 분석하고 acquireSendLock / completeSendLock / releaseSendLockOnFailure 3-함수 패턴으로 교체했습니다. fail-open → fail-safe 전환으로 장애 시 안전성을 우선했습니다.
4자리 PIN + SHA-256 암호화로 민감한 일기를 보호합니다. flutter_secure_storage에 해시 저장, in-memory 세션 인증 방식으로 앱 재시작 시 자동 잠금됩니다. 인증 실패 3회 시 초기화 옵션을 제공하며, 비밀 일기는 감정 통계에서 완전히 제외됩니다.
온보딩
일기 목록
일기 작성
마음 달력
감정 추이
키워드 분석
AI 캐릭터
설정
MindLog와 함께 나의 감정을 기록하고 이해해보세요.