"독서 시간과 장소, 진행 상황을 기록해 독서 습관을 관리하는 모바일 앱"
독서를 꾸준히 이어가기 위해서는 읽은 분량이나 장소, 흐름을 함께 파악하는 것이 중요하지만, 기존 독서 앱은 단순 기록이나 통계 위주로 실제 독서 과정이 잘 드러나지 않는 한계가 있었습니다.
Booking은 이러한 문제를 해결하기 위해 독서 시간을 직접 측정하고, 장소·페이지·메모를 함께 기록하는 구조로 설계된 독서 관리 앱으로, 사용자가 기록이 쌓이는 과정을 통해 자신의 독서 패턴을 자연스럽게 인식하고 습관으로 이어갈 수 있도록 돕습니다.
| 기능 | 설명 |
|---|---|
| 📖 독서 상태 관리 | 읽을 책 / 읽는 책 / 읽은 책 카테고리 분류 |
| ⏱️ 독서 타이머 | 실시간 독서 시간 측정 및 기록 저장 |
| 📝 독서 기록 작성 | 독서 장소, 페이지, 메모, 인상 깊은 구절 기록 |
| 📊 독서 통계 | 총 독서 시간, 연속 독서 일수(D-Day) 계산 |
| 📈 진행률 추적 | 책별 읽은 페이지 대비 전체 페이지 진행률 표시 |
| 🏠 홈 대시보드 | 현재 읽는 책, 독서 통계, 진행률 요약 표시 |
| 👤 사용자 관리 | Firebase 인증 기반 프로필 및 닉네임 관리 |
| 🔄 실시간 동기화 | Firestore 실시간 DB로 기록 즉시 반영 |
| 🗺️ 지도 기반 장소 | 카카오맵 연동 독서 장소 시각화 및 마커 표시 |
| 🔍 도서 상세 정보 | 표지, 저자, 출판사, 줄거리 등 상세 정보 제공 |
| 📚 도서 검색 | 알라딘·네이버 API 연동 도서 정보 검색 및 저장 |
| 📍 위치 기반 서비스 | GPS 현재 위치 확인 및 독서 장소 자동 기록 |
- 언어: Java
- 아키텍처: MVVM, Repository Pattern
- UI: ViewBinding, Material Design
- 네비게이션: Bottom Navigation, Fragment
- 데이터베이스: Firebase Firestore
- 인증: Firebase Authentication
- 실시간 동기화: Firestore 실시간 리스너
- 도서 검색: 알라딘 API, 네이버 도서 API
- 지도 서비스: 카카오맵 SDK
- 위치 서비스: Google Location Services
- IDE: Android Studio
- 빌드 도구: Gradle (Kotlin DSL)
- 버전 관리: Git, GitHub
app/
├── src/main/
│ ├── java/com/example/booking/
│ │ ├── MainActivity.java # 메인 액티비티 (Bottom Navigation)
│ │ ├── HomeFragment.java # 홈 화면 (대시보드)
│ │ ├── RecordFragment.java # 독서 기록 화면
│ │ ├── MapFragment.java # 지도 화면 (독서 장소)
│ │ └── MyFragment.java # 마이페이지
│ ├── res/
│ │ ├── layout/ # UI 레이아웃 파일
│ │ ├── drawable/ # 아이콘 및 이미지 리소스
│ │ ├── menu/ # Bottom Navigation 메뉴
│ │ └── values/ # 문자열, 색상, 테마 리소스
│ └── AndroidManifest.xml
└── build.gradle.kts # 앱 수준 빌드 설정
- MVVM + Repository Pattern: UI와 데이터 로직 분리로 유지보수성 향상
- Fragment 기반 네비게이션: Bottom Navigation과 함께 직관적인 화면 전환
- ViewBinding: 타입 안전한 뷰 참조로 런타임 오류 방지
users/{userId}/
└─ books/{bookId}/
├─ 책 정보, 독서 상태
└─ records/{recordId}/
├─ 독서 시간, 날짜
├─ 장소 좌표 및 주소
└─ 메모, 페이지
- 실시간 동기화: 독서 기록 즉시 반영
- 오프라인 지원: 네트워크 연결 없이도 기본 기능 사용 가능
- 간편한 인증: Google 로그인 등 다양한 인증 방식 지원
- 확장성: 사용자 증가에 따른 자동 스케일링
| 이수민 | 장효원 | 백종원 |
|---|---|---|
| [leesumin0526] | [hyowon0204] | [BAEK0111] |
|
- ✅ MVVM + Repository Pattern 기반 구조 설계
- ✅ Firebase 실시간 데이터 연동 및 위치 기반 독서 기록 기능 구현
- ✅ Bottom Navigation 기반 직관적인 사용자 인터페이스
- ✅ ViewBinding 적용으로 타입 안전성 확보
- ✅ Material Design 가이드라인 준수
- 홈 화면: 현재 읽는 책, 독서 통계, 진행률 대시보드
- 기록 화면: 독서 타이머, 페이지 기록, 메모 작성
- 지도 화면: 독서 장소 시각화 및 위치 기반 기록
- 마이페이지: 사용자 프로필 및 설정 관리
| Message | 설명 |
|---|---|
feat |
새로운 기능 추가 |
fix |
버그 수정 |
refactor |
코드 리팩토링 |
comment |
주석 추가 및 변경 |
rename |
파일 혹은 폴더명 수정 |
remove |
파일 혹은 폴더 삭제 |
chore |
기타 변경사항 |
main: 배포 가능한 안정 버전develop: 개발 중인 기능들의 통합 브랜치feature/*: 개별 기능 개발 브랜치