You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+20-2Lines changed: 20 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,6 +16,7 @@
16
16
</p>
17
17
18
18
## Tech stack & Open-source libraries
19
+
19
20
- Minimum SDK level 21.
20
21
-[Kotlin](https://kotlinlang.org/) based, utilizing [Coroutines](https://github.com/Kotlin/kotlinx.coroutines) + [Flow](https://kotlin.github.io/kotlinx.coroutines/kotlinx-coroutines-core/kotlinx.coroutines.flow/) for asynchronous operations.
21
22
- Jetpack Libraries:
@@ -34,9 +35,11 @@
34
35
35
36
## Runing This Project on Your Side
36
37
37
-
1. First things first, download the following JSON file on your local PC: [Gist: JSON demo for Timeline UI](https://gist.github.com/skydoves/16267ebe987c6246d917814440f03aac).
38
+
You can run this project on your side following the guidelines below:
38
39
39
-
</details>
40
+
<details>
41
+
42
+
1. First things first, download the following JSON file on your local PC: [Gist: JSON demo for Timeline UI](https://gist.github.com/skydoves/16267ebe987c6246d917814440f03aac).
40
43
41
44
2. Following the [Firebase setup guidelines](https://firebase.google.com/docs/android/setup), download the **google-services.json** and place it into the `app` directory on this project.
**Server Driven Compose** demonstrates a versioning system for each component and how to synchronize them with the application in real-time.
65
+
66
+
<imgsrc="preview/gif1.gif"/>
67
+
57
68
## Architecture
69
+
70
+
**Server Driven Compose** fetches data from Firebase Realtime Database and makes it an observable flow in the data layer. The presentation layer then takes this data and assembles it into components, which are formatted to be consumed by UIs as composable functions.
71
+
72
+

73
+
74
+
### Design Patterns
75
+
58
76
**Server Driven Compose** adheres to the MVVM architecture and implements the Repository pattern, aligning with [Google's official architecture guidance](https://developer.android.com/topic/architecture).
59
77
60
78
The architecture of **Server Driven Compose** is structured into two distinct layers: the UI layer and the data layer. Each layer fulfills specific roles and responsibilities, outlined as follows:
0 commit comments