내가 먹은 빵, 취향까지 정산해주는 기록형 빵지순례 앱
먹고 기록하면, 취향이 보입니다.
나의 빵생활을 데이터로 예쁘게 정리하는 기록형 베이커리 아카이브.
- 🍞 빵집 추천 : 내 취향과 지역에 맞는 빵집을 추천받아요.
- 🏖️ 관광지 추천 : 내가 가려는 지역의 관광지를 추천받아요.
- 🚶 방문 기록 : 다녀온 빵집과 먹은 빵을 메뉴·사진·메모로 리뷰해서 깔끔하게 저장해요.
- 📊 빵말정산 : 소금빵 vs 쿠키 비율, 최애 빵집, 요일·시간대 패턴, 누적 지출, 지역 분포까지 한눈에.
- 💖 취향 프로필 : 크루아상파? 단팥러버? 먹은 기록이 쌓일수록 내 취향이 선명해져요.
- 🏅 뱃지 : 인증할수록 도장 콕! 사진 리뷰·좋아요·새로운 동네 탐험 등 활동에 따른 뱃지를 수집해요.
빵 종류 TOP3: 예) 소금빵 52% · 쿠키 31% · 바게트 17%최다 방문/최애 빵집: 한 달 동안 내가 가장 사랑한 그곳요일·시간대 패턴: 화·금 오후에 디저트 비중↑와 같은 생활 리듬 분석지출 리포트: 이번 달 총액과 전월 대비 증감, 평균 단가 흐름지역 분포: 내가 자주 가는 동네/상권, 새로 개척한 동네 표시활동 하이라이트: 받은 좋아요, 작성 리뷰 수, 획득 뱃지 요약
기록이 곧 취향이 되는 경험: ‘어디를 갔는가’보다 ‘무엇을 좋아하는가’에 초점을 맞춘 데이터 아카이브보는 재미, 모으는 재미: 예쁜 인포그래픽과 뱃지 수집으로 꾸준히 쓰게 되는 UX
- “내가 진짜 좋아하는 빵이 뭔지” 데이터로 확인하고 싶을 때
- 지출을 체크하며 맛있는 빵 소비를 하고 싶을 때
- 나와 비슷한 취향의 유저 기록을 보며 다음 방문지를 고를 때
지금, 빵글 앱으로 당신의 빵생활을 멋지게 아카이브하세요.
먹고, 기록하고, 정산받는 즐거움을 시작해요! 🍞✨
- IDE :
Android Studio Narwhal - JDK :
17+ - Kotlin :
2.1.10 - AGP :
8.12.0
Kotlin
- AndroidX
- Lifecycle
lifecycle-runtime-composelifecycle-viewmodel-compose
- Navigation
navigation-composehilt-navigation-compose
- Compose
compose-bomfoundationmaterial3ui-toolingactivity-compose
- Splash Screen
- DataStore
datastore-preferencesdatastore
- Paging
- Lifecycle
- KotlinX
- Coroutines
- Serialization Json
- Collections Immutable
- Hilt
- Okhttp3
- Retrofit
converter-kotlinx-serialization
- Gson
- Protobuf
protobuf-kotlin-liteprotoc
- Coil
- Kakao
v2-userv2-share
- Timber
- Lottie
- Gradle Version Catalog
📦 빵글
├─ app # 애플리케이션 및 메인화면 모듈
├─ build-logic # Gradle Convention Plugins
├─ core # 공통 모듈
│ ├─ common # 유틸
│ │ ├─ android # 안드로이드 유틸
│ │ └─ kotlin # 코틀린 유틸
│ ├─ data # 데이터 계층 (Repository)
│ ├─ datastore # 데이터 저장소 (Preferences, Proto)
│ ├─ designsystem # 디자인 시스템 (기본 컴포넌트, 테마)
│ ├─ domain # 도메인 계층 (UseCase)
│ ├─ eventbus # 이벤트 버스 (모듈 간 데이터 전달)
│ ├─ exception # 에러
│ ├─ model # 공용 모델
│ ├─ navigator # 네비게이션 (모듈 간 이동)
│ ├─ remote # 네트워크 계층 (DataSource)
│ └─ ui # 앱 컴포넌트
├─ feature # 기능 단위 모듈
│ ├─ badge # 뱃지 목록
│ ├─ bakery # 빵집
│ │ ├─ detail # 빵집 상세
│ │ └─ list # 빵집 목록
│ ├─ home # 홈 탭
│ ├─ intro # 인트로 (스플래시, 로그인)
│ ├─ mybakery # 내 빵집 탭
│ ├─ mypage # 나의 빵글 탭
│ ├─ onboard # 온보딩 (취향 및 닉네임 설정)
│ ├─ report # 빵말정산
│ ├─ review # 리뷰
│ │ ├─ myreviews # 내가 쓴 리뷰
│ │ └─ write # 리뷰 작성
│ ├─ search # 검색 탭
│ └─ settings # 설정
└─ gradle # Gradle Version Catalog
💡 Based on Now in Android with Clean Architecture
-
Multi-Module
-
Convention Plugins
build-logic멀티 모듈을 적용하기 때문에 공통적으로 사용하는 모듈의 설정이 생기게 된다. 이에 따라, 불필요한 중복 코드를 제거하기 위해 Convention Plugins 을 정의한다.💡 만약 특정 모듈에만 필요한 일회성 로직이라면, 공통 플러그인을 만들기 보다는
해당 모듈의build.gradle파일에 직접 정의하는 것이 바람직하다.
-
-
MVI (Model-View-Intent)
- State :
View를 나타내기 위한 상태값- Recomposition 을 줄이기 위해 stable 하게 작성
- Intent :
View→ViewModelViewModel에서 Intent 에 맞게 State 를 reduce
- SideEffect :
ViewModel→ViewViewModel에서 State reduce 를 제외한 또다른 처리를 필요로 할 때 사용
(ex. Toast, Alert, Navigation..)
- State :





