diff --git a/README.md b/README.md index 86fe7239..88e790d2 100644 --- a/README.md +++ b/README.md @@ -127,24 +127,28 @@ MVVM을 기반으로 하되, ViewModel 상태 관리에는 MVI 형태의 단방 - - + + + + + - - - +
- architecture + + App Architecture +
앱 아키텍처
Store
앱 계층 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/DevLog.drawio b/docs/DevLog.drawio index b5efbdc8..2d0264c3 100644 --- a/docs/DevLog.drawio +++ b/docs/DevLog.drawio @@ -1,78 +1,101 @@ - + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - - - - - + + - - - - - - + + - - - - - - + + - - - - - - - + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + - + + + + + + + + + + + + + + @@ -506,131 +529,6 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -716,49 +614,259 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + - - + + + + + + + + - + - + - + - + - + - + - + - + - + - + - + - + diff --git a/docs/Widget.png b/docs/Widget.png index b6a97367..9a6e0be2 100644 Binary files a/docs/Widget.png 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/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