diff --git a/README.md b/README.md index ae2c3302..b7a745cc 100644 --- a/README.md +++ b/README.md @@ -127,17 +127,29 @@ MVVM을 기반으로 하되, ViewModel 상태 관리에는 MVI 형태의 단방 - - + + + + + - + + + + + +
- architecture + + App Architecture - Store +
앱 아키텍처
+ Store Protocol
앱 계층 Store 프로토콜
+ Widget Architecture +
위젯 데이터 아키텍처
## 프로젝트 구조 diff --git a/docs/App.png b/docs/App.png new file mode 100644 index 00000000..8445872a Binary files /dev/null and b/docs/App.png differ diff --git a/docs/AppStore_Hitmap.png b/docs/AppStore_Hitmap.png index 18cd0542..94449c1b 100644 Binary files a/docs/AppStore_Hitmap.png and b/docs/AppStore_Hitmap.png differ diff --git a/docs/AppStore_Home.png b/docs/AppStore_Home.png index 8df7db4b..68480901 100644 Binary files a/docs/AppStore_Home.png and b/docs/AppStore_Home.png differ diff --git a/docs/AppStore_Markdown.png b/docs/AppStore_Markdown.png index 08f85416..0faf066a 100644 Binary files a/docs/AppStore_Markdown.png and b/docs/AppStore_Markdown.png differ diff --git a/docs/AppStore_Notifications.png b/docs/AppStore_Notifications.png index 84dd6baa..e59d556b 100644 Binary files a/docs/AppStore_Notifications.png and b/docs/AppStore_Notifications.png differ diff --git a/docs/AppStore_Today.png b/docs/AppStore_Today.png index c0a98b1b..e1d6496d 100644 Binary files a/docs/AppStore_Today.png and b/docs/AppStore_Today.png differ diff --git a/docs/DevLog.drawio b/docs/DevLog.drawio index 2055c63e..2d0264c3 100644 --- a/docs/DevLog.drawio +++ b/docs/DevLog.drawio @@ -1,78 +1,101 @@ - + - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + - + + + + + + + + + + + + + + @@ -506,213 +529,385 @@ - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + + + + + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + + + + + + + + + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - + - + - + + + + + + + - - + + - - - - + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - + + + + - + - + + + + + + + + + + + - - - - - - - - + + + - - - - - - + + + - - - - - - + + + + + + + + + diff --git a/docs/Widget.png b/docs/Widget.png new file mode 100644 index 00000000..9a6e0be2 Binary files /dev/null and b/docs/Widget.png differ diff --git a/docs/architecture.d2 b/docs/architecture.d2 deleted file mode 100644 index 6aa3c3de..00000000 --- a/docs/architecture.d2 +++ /dev/null @@ -1,29 +0,0 @@ -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 -> infra: "Handler -> UserService" diff --git a/docs/architecture.png b/docs/architecture.png deleted file mode 100644 index 73ad6132..00000000 Binary files a/docs/architecture.png and /dev/null differ diff --git a/docs/hitmap.png b/docs/hitmap.png index 083f347e..d6c9c548 100644 Binary files a/docs/hitmap.png and b/docs/hitmap.png differ diff --git a/docs/home.png b/docs/home.png index 2a56022d..93f6dae6 100644 Binary files a/docs/home.png and b/docs/home.png differ diff --git a/docs/markdown.png b/docs/markdown.png index 726e347f..9d87a3f6 100644 Binary files a/docs/markdown.png and b/docs/markdown.png differ diff --git a/docs/notification.png b/docs/notification.png index fdb4ce95..2c6f399f 100644 Binary files a/docs/notification.png and b/docs/notification.png differ diff --git a/docs/store-protocol.d2 b/docs/store-protocol.d2 deleted file mode 100644 index bfae50dc..00000000 --- a/docs/store-protocol.d2 +++ /dev/null @@ -1,34 +0,0 @@ -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 index 3a3d6f4d..bf9dd70b 100644 Binary files a/docs/store-protocol.png and b/docs/store-protocol.png differ diff --git a/docs/today.png b/docs/today.png index 3c008d71..f94f73b4 100644 Binary files a/docs/today.png and b/docs/today.png differ