Skip to content

Commit 2aae990

Browse files
authored
[#455] 모듈러 아키텍쳐에 맞게 리드미를 수정한다 (#477)
* docs: 리드미 수정 * docs: 위젯 아키텍처 다이어그램 수정 * docs: 앱 아키텍쳐 다이어그램 수정 * docs: 대표 아키텍쳐에서 DI Container 제거
1 parent 11fab68 commit 2aae990

4 files changed

Lines changed: 182 additions & 212 deletions

File tree

README.md

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Todo, 저장 링크, 오늘 할 일, 받은 알림, 누적 활동을 하나의
5454
## 아키텍처
5555

5656
MVVM을 기반으로 하되, ViewModel 상태 관리에는 MVI 형태의 단방향 흐름을 차용한 구조
57-
화면, 상태, 비즈니스 로직, 외부 의존성 분리를 위한 `MVVM + Clean Architecture` 기반 구성
57+
`DevLog.xcworkspace` 안에서 Application, Widget 모듈을 분리하고 화면, 상태, 비즈니스 로직, 외부 의존성 경계를 나눈 `MVVM + Clean Architecture` 기반 구성
5858

5959
<table>
6060
<tr>
@@ -144,7 +144,7 @@ MVVM을 기반으로 하되, ViewModel 상태 관리에는 MVI 형태의 단방
144144
| 구분 | 스택 |
145145
| --- | --- |
146146
| Deployment Target | iOS 17+ |
147-
| Architecture | MVVM, MVI-inspired state flow, Clean Architecture, Repository Pattern, DI Container |
147+
| Architecture | Modular Architecture, MVVM, MVI-inspired state flow, Clean Architecture |
148148
| UI | SwiftUI, Charts, MarkdownUI |
149149
| State & Async | Observable, Combine, async/await |
150150
| Backend | FirebaseAuth, FirebaseFirestore, Firebase Cloud Functions, FirebaseMessaging |
@@ -157,16 +157,20 @@ MVVM을 기반으로 하되, ViewModel 상태 관리에는 MVI 형태의 단방
157157

158158
```text
159159
SwiftUI_DevLog/
160-
├── DevLog/
161-
│ ├── App/ # 앱 진입점, DI, Assembler, Root 구성
162-
│ ├── Data/ # DTO, Mapper, Repository 구현
163-
│ ├── Domain/ # Entity, Protocol, UseCase
164-
│ ├── Infra/ # Firebase 및 시스템 서비스
165-
│ ├── Presentation/ # ViewModel, 화면용 구조체와 프로토콜
166-
│ ├── Storage/ # 로컬 저장소 및 사용자 설정 영속성 처리
167-
│ ├── UI/ # SwiftUI 화면
168-
│ └── Resource/ # plist, asset, 이미지 리소스
160+
├── DevLog.xcworkspace
161+
├── Application/
162+
│ ├── DevLogApp/ # 앱 진입점, 앱 생명주기, 라우팅, Assembler 구성
163+
│ ├── DevLogCore/ # DI, Logger, Query, 공통 값 타입
164+
│ ├── DevLogDomain/ # Entity, Repository Protocol, UseCase
165+
│ ├── DevLogData/ # Repository 구현, DTO, Mapper, Data 계층 Protocol
166+
│ ├── DevLogInfra/ # Firebase, 소셜 로그인, 네트워크, 메타데이터 서비스 구현
167+
│ ├── DevLogPersistence/ # UserDefaults, 이미지 저장소, 위젯 스냅샷 영속성 처리
168+
│ └── DevLogPresentation/ # SwiftUI 화면, ViewModel, Store, Coordinator
169+
├── Widget/
170+
│ ├── DevLogWidgetCore/ # 위젯 스냅샷 모델, Factory, App Group 상수
171+
│ └── DevLogWidgetExtension/ # WidgetKit UI, Provider, Timeline
169172
├── Firebase/
170-
│ └── functions/ # 인증 보조, 푸시 발송, 정리 작업용 Cloud Functions
173+
│ └── functions/ # 인증 보조, 푸시 발송, 정리 작업용 Cloud Functions
174+
├── docs/ # README 이미지와 draw.io 원본
171175
└── README.md
172176
```

docs/App.png

-109 KB
Loading

0 commit comments

Comments
 (0)