diff --git a/README.md b/README.md
index a4dc824..91cc7ec 100644
--- a/README.md
+++ b/README.md
@@ -1,24 +1,155 @@
-# SwiftUI_DevLog
-
-손쉽게 사용할 수 있는 개발 일지 및 Todo 관리 앱
-
-## 사용된 패턴
-- MVVM
-
-## 최소 iOS 버전
-- iOS 16
-
-특징
-- 구글, 깃헙, 애플 로그인 및 계정 연동
-- FirebaseAuth를 이용해 사용자 인증
-- Firestore를 이용해 데이터 저장 및 동기화
-- Firebase Cloud Functions를 이용해 각 소셜 로그인 시 각종 토큰 발급 및 저장
-- 사용자가 원하는 앱 로고 선택 가능
-
-기술 스택
-- Swift
-- SwiftUI
-- Firebase
- - FirebaseAuth
- - Firestore
- - Firebase Cloud Functions
+# DevLog
+
+> 개발 기록과 Todo를 한 곳에서 관리하는 SwiftUI 기반 앱
+> 저장한 링크, 작업 메모, 마감 일정, 개인 활동 흐름을 하나의 앱 안에서 정리하는 구조
+
+
+
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ |
+
+
+ | Home |
+ Markdown |
+ Todo 상세 |
+ 푸시 알림 |
+
+
+
+## 앱 사용해보기
+
+iOS 17 이상 환경에서 TestFlight 베타 테스트 가능
+
+
+
+
+
+## 프로젝트 개요
+
+개발 과정에서 해야 할 일, 참고 링크, 진행 기록이 여러 곳에 흩어지기 쉬운 문제 해결 목적
+Todo, 저장 링크, 오늘 할 일, 받은 알림, 누적 활동을 하나의 화면 흐름 안에서 함께 관리할 수 있도록 구성한 앱
+
+- Todo 유형별 정리 및 빠른 탐색
+- Markdown, 태그, 마감일, 중요 표시를 포함한 Todo 작성
+- 웹 페이지 저장 및 재열람
+- 오늘 기준 우선 확인 Todo 요약
+- 받은 푸시 알림 확인 및 Todo 연계
+- 분기별 활동 히트맵 및 주간 추이 차트 제공
+- Google, GitHub, Apple 로그인 및 계정 연동
+
+## 주요 기능
+
+### 로그인 및 계정 관리
+
+- Google, GitHub, Apple 로그인 지원
+- 설정 화면에서 계정 연동 및 해제 관리
+- 앱 내부 로그아웃 및 회원 탈퇴 흐름 제공
+- Firebase Authentication 기반 사용자 세션 관리
+
+### Home
+
+- 작업 성격별 Todo 유형 진입점 제공
+- Home에서 Todo 유형 노출 여부 및 순서 편집
+- 최근 수정 Todo 별도 섹션 제공
+- 저장한 웹 페이지 목록 확인 및 즉시 열람
+- URL 입력 시 메타데이터 수집 후 제목과 썸네일 저장
+
+### Todo 관리
+
+- 8개 Todo 유형별 목록, 정렬, 완료 상태, 중요 표시 필터 지원
+- Todo 목록 내 검색과 페이지네이션 기반 로드
+- 스와이프 액션을 통한 중요 표시, 완료 처리, 삭제 지원
+- Markdown, 태그, 마감일, 중요 표시 기반 Todo 작성 및 수정
+- 상세 화면에서 생성일, 완료일, 마감일, 태그 확인
+
+### Today
+
+- 남은 일, 집중 Todo, 지연 Todo, 7일 내 마감 Todo 요약 카드 제공
+- 집중할 일, 지난 마감, 나중 일정, 일정 미정 등 기한 기준 섹션 분류
+- 보기 범위와 중요 표시 조건 기반 빠른 필터링
+- 항목별 스와이프 액션을 통한 중요 표시 및 완료 처리
+
+### 알림
+
+- 받은 푸시 알림 목록 확인
+- 정렬, 기간, 읽지 않음 기준 필터링
+- 알림 선택 시 연결된 Todo 상세 확인 및 읽음 처리
+- 페이지네이션 및 실시간 동기화 기반 알림 목록 갱신
+- 사용자 설정 시각 기준으로 다음 날 마감 Todo 리마인드 푸시 발송
+
+### 검색
+
+- Home 화면 검색 버튼을 통한 통합 검색 진입
+- Todo와 저장한 웹 페이지 통합 검색
+- 디바운스 기반 검색 처리
+- 최근 검색어 저장, 개별 삭제, 전체 삭제 지원
+
+### 프로필 및 설정
+
+- 상태 메시지 직접 수정
+- 분기 이동 및 직접 선택, 생성/완료 활동 필터 기반 히트맵과 주간 추이 차트 제공
+- 테마 변경, 푸시 알림 시간 설정, 캐시 정리 기능 제공
+- 설정 화면에서 앱 버전, 개인정보 처리방침, 베타 테스트 링크 확인
+
+---
+
+## 기술 스택
+
+| 구분 | 스택 |
+| --- | --- |
+| Deployment Target | iOS 17+ |
+| Architecture | MVVM, MVI-inspired state flow, Clean Architecture, Repository Pattern, DI Container |
+| UI | SwiftUI, Charts, MarkdownUI |
+| State & Async | Observable, Combine, async/await |
+| Backend | FirebaseAuth, FirebaseFirestore, Firebase Cloud Functions, FirebaseMessaging |
+| Apple Frameworks | AuthenticationServices, UserNotifications, LinkPresentation, Network |
+| Utility | GoogleSignIn, OrderedCollections |
+| Tooling | Xcode, Swift Package Manager, SwiftLint, Fastlane |
+
+## 아키텍처
+
+MVVM을 기반으로 하되, ViewModel 상태 관리에는 MVI 형태의 단방향 흐름을 차용한 구조
+화면, 상태, 비즈니스 로직, 외부 의존성 분리를 위한 `MVVM + Clean Architecture` 기반 구성
+
+
+
+
+
+ |
+
+
+ |
+
+
+ | 앱 계층 |
+ Store 프로토콜 |
+
+
+
+## 프로젝트 구조
+
+```text
+SwiftUI_DevLog/
+├── DevLog/
+│ ├── App/ # 앱 진입점, DI, Assembler, Root 구성
+│ ├── Data/ # DTO, Mapper, Repository 구현
+│ ├── Domain/ # Entity, Protocol, UseCase
+│ ├── Infra/ # Firebase 및 시스템 서비스
+│ ├── Presentation/ # ViewModel, 화면용 구조체와 프로토콜
+│ ├── Storage/ # 로컬 저장소 및 사용자 설정 영속성 처리
+│ ├── UI/ # SwiftUI 화면
+│ └── Resource/ # plist, asset, 이미지 리소스
+├── Firebase/
+│ └── functions/ # 인증 보조, 푸시 발송, 정리 작업용 Cloud Functions
+└── README.md
+```
diff --git a/docs/architecture.d2 b/docs/architecture.d2
new file mode 100644
index 0000000..7dde954
--- /dev/null
+++ b/docs/architecture.d2
@@ -0,0 +1,30 @@
+direction: down
+
+style: {
+ fill: transparent
+}
+
+app: "App\nDevLog/App"
+ui: "UI\nDevLog/UI"
+presentation: "Presentation\nDevLog/Presentation"
+domain: "Domain\nDevLog/Domain"
+data: "Data\nDevLog/Data"
+infra: "Infra\nDevLog/Infra"
+storage: "Storage\nDevLog/Storage"
+external: "External\nFirebase / Google / GitHub / Apple / Web"
+
+app -> ui: "DI provision, ViewModel composition"
+ui -> app: "DI container resolve"
+
+ui -> presentation: "ViewModel ownership"
+presentation -> ui: "state, action flow"
+
+presentation -> domain: "UseCase execution, Observe publisher"
+domain -> data: "Repository protocol"
+data -> infra: "Service call"
+data -> storage: "Store call"
+
+infra -> external: "Firebase SDK, social login, metadata fetch"
+
+app -> domain: "exception, Handler -> UserDataRepository"
+presentation -> infra: "exception, NWPathConnectivityProvider"
diff --git a/docs/architecture.png b/docs/architecture.png
new file mode 100644
index 0000000..da5b66f
Binary files /dev/null and b/docs/architecture.png differ
diff --git a/docs/home.png b/docs/home.png
new file mode 100644
index 0000000..73761e0
Binary files /dev/null and b/docs/home.png differ
diff --git a/docs/markdown.png b/docs/markdown.png
new file mode 100644
index 0000000..234424b
Binary files /dev/null and b/docs/markdown.png differ
diff --git a/docs/metadata.png b/docs/metadata.png
new file mode 100644
index 0000000..da979ec
Binary files /dev/null and b/docs/metadata.png differ
diff --git a/docs/notification.png b/docs/notification.png
new file mode 100644
index 0000000..e51e76c
Binary files /dev/null and b/docs/notification.png differ
diff --git a/docs/store-protocol.d2 b/docs/store-protocol.d2
new file mode 100644
index 0000000..bfae50d
--- /dev/null
+++ b/docs/store-protocol.d2
@@ -0,0 +1,34 @@
+direction: down
+
+style: {
+ fill: transparent
+}
+
+view: "View"
+
+store: {
+ label: "Store Protocol"
+ direction: down
+ style: {
+ fill: transparent
+ }
+
+ action: "Action"
+ send: "send(action)"
+ reduce: "reduce(with: action)\n-> [SideEffect]"
+ side_effect: "SideEffect"
+ run: "run(effect)"
+ state: "State"
+}
+
+effect_result: "Effect result\nTask / network / timer / callback"
+
+view -> store.action: "user event"
+store.action -> store.send: "input"
+store.send -> store.reduce: "dispatch"
+store.reduce -> store.state: "update state"
+store.reduce -> store.side_effect: "return effects"
+store.side_effect -> store.run: "iterate"
+store.run -> effect_result: "perform side effect"
+effect_result -> store.action: "emit next action"
+store.state -> view: "render"
diff --git a/docs/store-protocol.png b/docs/store-protocol.png
new file mode 100644
index 0000000..3a3d6f4
Binary files /dev/null and b/docs/store-protocol.png differ