TO-DO + 도토리
공부 중심 스터디 플래너 앱 작은 습관이 만드는 큰 변화
| 이름 | 역할 | GitHub 프로필 |
|---|---|---|
| 허준서 | 팀장 | Junseo0324 |
| 이창한 | 부팀장 | chlee9610 |
| 안현진 | 팀원 | h1jn2 |
| 이다은 | 팀원 | daeun-ver |
| 이지형 | 팀원 | groundinsider |
공부 계획을 세워도 꾸준히 기록하지 못해 흐지부지… 혼자 공부하다 쉽게 포기… 자기 점검이 어려워 작심삼일의 함정에 빠지기 쉽습니다.
👉 TODORI는 이를 해결하기 위해:
- ✅ 카테고리 별 할 일 생성 및 달성률 관리
- ✅ 공부 시간 측정 & 하루 회고
- ✅ 스터디와 집중 타이머
- ✅ 통계를 통한 성취 시각화
를 제공하여 꾸준한 공부 습관을 만들어 줍니다.
Feature-based (MVVM + Clean Architecture 기반)
📦 com.mukmuk.todori
├── 📁 data/ # 데이터 계층
│ ├── 📁 local.datastore/ # DataStore (로컬 저장소)
│ ├── 📁 remote/ # 원격 데이터 (Firestore 등)
│ ├── 📁 repository/ # Repository
│ └── 📁 service/ # Firebase / API Service
│
├── 📁 di/ # Hilt 의존성 주입 모듈
├── 📁 navigation/ # 네비게이션 그래프
│
├── 📁 ui/ # UI 계층
│ ├── 📁 component/ # 공통 UI 컴포넌트
│ ├── 📁 screen/ # 화면 (로그인, 타이머, TODO, 통계 등)
│ └── 📁 theme/ # 테마 (색상, 폰트, 스타일)
│
├── 📁 util/ # 유틸리티 클래스 & 헬퍼
│
├── 📁 widget/ # App Widget 관련
│
├── MainActivity.kt
└── TodoriApplication.kt- ✅ 개인/목표/스터디 기반 TODO 관리
- ⏱ 뽀모도로 & 스톱워치 타이머
- 📊 공부 시간 및 집중 패턴 통계
- 👥 스터디 모집 및 공유 기능
- 🔔 알림 기능 (D-Day, 회고 작성, 미완료 TODO 등)
본 프로젝트는 MVVM 패턴 기반의 클라이언트 구조와 Firebase 및 외부 API를 활용한 서버리스 구조로 설계되었습니다.
-
UI Layer (Screen, ViewModel): 화면 로직과 상태 분리
-
Data Layer (Repository, Service): 데이터 흐름 계층화, API 호출 관리
-
Server:
- Firebase Firestore – 앱 데이터 저장
- Firebase Auth – 사용자 인증
- Firebase Cloud Functions – 통계/레벨/알림 처리
| 분류 | 사용 기술 / 도구 |
|---|---|
| 개발 언어 | Kotlin, JavaScript |
| 프레임워크 | Android (Jetpack Compose) |
| 상태 관리 | Coroutine, Flow, ViewModel |
| DI | Hilt |
| 스토리지 | Firebase Firestore, DataStore |
| 인증 | Firebase Auth, Kakao/Naver 로그인 (CustomToken) |
| 시각화 | MPAndroidChart, Kizitonwose Calendar |
| 알림/위젯 | FCM, Glance (Jetpack Compose App Widget) |
| 협업 도구 | GitHub, Figma, Notion |
| 타이머 | TODO 관리 |
|---|---|
![]() |
![]() |
| 통계 화면 | 스터디 |
|---|---|
![]() |
![]() |
| 추가 화면 |
|---|
![]() |









