Skip to content

Yoon-Chan/EchoJournal

Repository files navigation

EchoJournal

해당 개발은 PL-Coding 강의 The Android Architecture Masterclass를 이용한 음성 녹음 앱입니다.

Figma : https://www.figma.com/design/Mrdck7icWtTM1fysRgAmao/EchoJournal?node-id=96-10621&t=WqB0xiHR0PX5NdQS-1

thumbnail

프로젝트를 통해 얻은 경험 및 블로그 기록들

  • 해시태그 엔티티와 기록에 대한 정보인 Echo 엔티티를 분리 및 멀티테이블로 다대다 연결 작업을 통해 Topic의 정보를 가져올 때 Echo의 모든 해시태그 정보를 조회하지 않고 전체 해시태그를 가져올 수 있도록 구현
  • MediaRecorder를 이용한 음성녹음 기능 구현을 경험하였으며, Coroutine을 이용한 비동기 작업 처리 진행 경험
  • Modifier.pointerInput을 활용한 드래그 기능을 통해 Quick Record 기능 구현
  • MVI 아키텍처를 이용한 단방향 흐름(State -> Event -> Effect) 구조를 학습을 통해 UI의 흐름을 직관적으로 판단하여 문제점을 쉽게 발견할 수 있는 장점
  • Clean Architecture 준수하여 패키지 분리 및 Mapper를 통한 데이터 변환 기능 경험
  • Bundle의 음성 녹음 크기 제한의 문제점과 음성 녹음의 길이를 통일하기 위함 길이 Normalizer기능을 통해 길이에 맞게 녹음 길이 재설정 및 진폭 조절 기능 경험
  • 위젯 구현을 통해 앱을 실행하지 않아도 위젯 클릭으로 빠른 녹음 기능 구현
  • 음성 녹음 파일을 cache에 저장 후 실제 일기 작성 완료 시 file에 저장 후 cacheDir 초기화 기능 경험
  • 다양한 유틸리티 작성 방법 경험(stringResource 관리하기 위한 UiText 구현, 날짜 정보 변환 기능, foreground 상태 여부 판단 기능

블로그


기술 스택

기술 스택
안드로이드 라이브러리 Compose UI
Koin (version 4.0.0)
Room (2.7.0)
Ksp (version 2.1.20-2.0.0)
serialization (version 1.8.1)
Timber (version 5.0.1)
glance (version 1.1.1)
DataStroe
아키텍처 MVI 아키텍처

실행 영상

음성 녹음 퀵 음성 녹음 위젯 녹음
일반녹음 퀵음성녹음 위젯 녹음
글작성 분류 - 감정 분류 - Topic
글작성 감정카테고리분류 해시태그분류

About

PL-Coding 강의 - 음성 녹음 일기 앱

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages