diff --git a/app/build.gradle.kts b/app/build.gradle.kts
deleted file mode 100644
index 62c33a4..0000000
--- a/app/build.gradle.kts
+++ /dev/null
@@ -1,71 +0,0 @@
-plugins {
- id("com.android.application")
- id("org.jetbrains.kotlin.android")
-}
-
-android {
- namespace = "com.droidconke.doko"
- compileSdk = 33
-
- defaultConfig {
- applicationId = "com.droidconke.doko"
- minSdk = 26
- targetSdk = 33
- versionCode = 1
- versionName = "1.0"
-
- testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
- vectorDrawables {
- useSupportLibrary = true
- }
- }
-
- buildTypes {
- getByName("release") {
- isMinifyEnabled = false
- proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "proguard-rules.pro")
- }
- }
-
- compileOptions {
- sourceCompatibility = JavaVersion.VERSION_11
- targetCompatibility = JavaVersion.VERSION_11
- }
-
- kotlinOptions {
- jvmTarget = "11"
- }
-
- buildFeatures {
- compose = true
- }
-
- composeOptions {
- kotlinCompilerExtensionVersion = "1.5.15"
- }
-
- packagingOptions {
- resources {
- excludes += "/META-INF/{AL2.0,LGPL2.1}"
- }
- }
-}
-
-dependencies {
-
- implementation("androidx.core:core-ktx:1.13.1")
- implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.8.6")
-
- implementation("androidx.activity:activity-compose:1.9.3")
- implementation("androidx.compose.ui:ui:1.7.4")
- implementation("androidx.compose.ui:ui-tooling-preview:1.7.4")
- implementation("androidx.compose.material:material:1.7.4")
- debugImplementation("androidx.compose.ui:ui-tooling:1.7.4")
- debugImplementation("androidx.compose.ui:ui-test-manifest:1.7.4")
-
- testImplementation("junit:junit:4.13.2")
-
- androidTestImplementation("androidx.test.ext:junit:1.2.1")
- androidTestImplementation("androidx.test.espresso:espresso-core:3.6.1")
- androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.7.4")
-}
diff --git a/buildLogic/convention/src/main/kotlin/com/droidconke/doko/AndroidCompose.kt b/buildLogic/convention/src/main/kotlin/com/droidconke/doko/AndroidCompose.kt
index 9ab14ca..43b5dfd 100644
--- a/buildLogic/convention/src/main/kotlin/com/droidconke/doko/AndroidCompose.kt
+++ b/buildLogic/convention/src/main/kotlin/com/droidconke/doko/AndroidCompose.kt
@@ -3,6 +3,7 @@ package com.droidconke.doko
import com.android.build.api.dsl.CommonExtension
import org.gradle.api.Project
import org.gradle.api.provider.Provider
+import org.gradle.kotlin.dsl.assign
import org.gradle.kotlin.dsl.configure
import org.gradle.kotlin.dsl.dependencies
import org.jetbrains.kotlin.compose.compiler.gradle.ComposeCompilerGradlePluginExtension
diff --git a/app/.gitignore b/ddsdemo/.gitignore
similarity index 100%
rename from app/.gitignore
rename to ddsdemo/.gitignore
diff --git a/ddsdemo/build.gradle.kts b/ddsdemo/build.gradle.kts
new file mode 100644
index 0000000..de4c3ee
--- /dev/null
+++ b/ddsdemo/build.gradle.kts
@@ -0,0 +1,59 @@
+plugins {
+ alias(libs.plugins.android.application)
+ alias(libs.plugins.jetbrains.kotlin.android)
+ alias(libs.plugins.compose.compiler)
+}
+
+android {
+ namespace = "com.droidconke.ddsdemo"
+ compileSdk = 34
+
+ defaultConfig {
+ applicationId = "com.droidconke.ddsdemo"
+ minSdk = 28
+ targetSdk = 34
+ versionCode = 1
+ versionName = "1.0"
+
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+ }
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+ kotlinOptions {
+ jvmTarget = "11"
+ }
+ buildFeatures {
+ compose = true
+ }
+}
+
+dependencies {
+
+ implementation(libs.androidx.core.ktx)
+ implementation(libs.androidx.lifecycle.runtime.ktx)
+ implementation(libs.androidx.activity.compose)
+ implementation(platform(libs.androidx.compose.bom))
+ implementation(libs.androidx.ui)
+ implementation(libs.androidx.ui.graphics)
+ implementation(libs.androidx.ui.tooling.preview)
+ implementation(libs.androidx.compose.material3)
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
+ androidTestImplementation(platform(libs.androidx.compose.bom))
+ androidTestImplementation(libs.androidx.ui.test.junit4)
+ debugImplementation(libs.androidx.ui.tooling)
+ debugImplementation(libs.androidx.ui.test.manifest)
+}
\ No newline at end of file
diff --git a/ddsdemo/proguard-rules.pro b/ddsdemo/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/ddsdemo/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/ddsdemo/src/androidTest/java/com/droidconke/ddsdemo/ExampleInstrumentedTest.kt b/ddsdemo/src/androidTest/java/com/droidconke/ddsdemo/ExampleInstrumentedTest.kt
new file mode 100644
index 0000000..f1b755b
--- /dev/null
+++ b/ddsdemo/src/androidTest/java/com/droidconke/ddsdemo/ExampleInstrumentedTest.kt
@@ -0,0 +1,24 @@
+package com.droidconke.ddsdemo
+
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.ext.junit.runners.AndroidJUnit4
+
+import org.junit.Test
+import org.junit.runner.RunWith
+
+import org.junit.Assert.*
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+@RunWith(AndroidJUnit4::class)
+class ExampleInstrumentedTest {
+ @Test
+ fun useAppContext() {
+ // Context of the app under test.
+ val appContext = InstrumentationRegistry.getInstrumentation().targetContext
+ assertEquals("com.droidconke.ddsdemo", appContext.packageName)
+ }
+}
\ No newline at end of file
diff --git a/ddsdemo/src/main/AndroidManifest.xml b/ddsdemo/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..6e34c8c
--- /dev/null
+++ b/ddsdemo/src/main/AndroidManifest.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/ddsdemo/src/main/java/com/droidconke/ddsdemo/MainActivity.kt b/ddsdemo/src/main/java/com/droidconke/ddsdemo/MainActivity.kt
new file mode 100644
index 0000000..e2ea485
--- /dev/null
+++ b/ddsdemo/src/main/java/com/droidconke/ddsdemo/MainActivity.kt
@@ -0,0 +1,47 @@
+package com.droidconke.ddsdemo
+
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import androidx.activity.enableEdgeToEdge
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material3.Scaffold
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.tooling.preview.Preview
+import com.droidconke.ddsdemo.ui.theme.DokoTheme
+
+class MainActivity : ComponentActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContent {
+ DokoTheme {
+ Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
+ Greeting(
+ name = "Android",
+ modifier = Modifier.padding(innerPadding)
+ )
+ }
+ }
+ }
+ }
+}
+
+@Composable
+fun Greeting(name: String, modifier: Modifier = Modifier) {
+ Text(
+ text = "Hello $name!",
+ modifier = modifier
+ )
+}
+
+@Preview(showBackground = true)
+@Composable
+fun GreetingPreview() {
+ DokoTheme {
+ Greeting("Android")
+ }
+}
\ No newline at end of file
diff --git a/ddsdemo/src/main/java/com/droidconke/ddsdemo/ui/theme/Color.kt b/ddsdemo/src/main/java/com/droidconke/ddsdemo/ui/theme/Color.kt
new file mode 100644
index 0000000..22a40ab
--- /dev/null
+++ b/ddsdemo/src/main/java/com/droidconke/ddsdemo/ui/theme/Color.kt
@@ -0,0 +1,11 @@
+package com.droidconke.ddsdemo.ui.theme
+
+import androidx.compose.ui.graphics.Color
+
+val Purple80 = Color(0xFFD0BCFF)
+val PurpleGrey80 = Color(0xFFCCC2DC)
+val Pink80 = Color(0xFFEFB8C8)
+
+val Purple40 = Color(0xFF6650a4)
+val PurpleGrey40 = Color(0xFF625b71)
+val Pink40 = Color(0xFF7D5260)
\ No newline at end of file
diff --git a/ddsdemo/src/main/java/com/droidconke/ddsdemo/ui/theme/Theme.kt b/ddsdemo/src/main/java/com/droidconke/ddsdemo/ui/theme/Theme.kt
new file mode 100644
index 0000000..602e395
--- /dev/null
+++ b/ddsdemo/src/main/java/com/droidconke/ddsdemo/ui/theme/Theme.kt
@@ -0,0 +1,58 @@
+package com.droidconke.ddsdemo.ui.theme
+
+import android.app.Activity
+import android.os.Build
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.dynamicDarkColorScheme
+import androidx.compose.material3.dynamicLightColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+
+private val DarkColorScheme = darkColorScheme(
+ primary = Purple80,
+ secondary = PurpleGrey80,
+ tertiary = Pink80
+)
+
+private val LightColorScheme = lightColorScheme(
+ primary = Purple40,
+ secondary = PurpleGrey40,
+ tertiary = Pink40
+
+ /* Other default colors to override
+ background = Color(0xFFFFFBFE),
+ surface = Color(0xFFFFFBFE),
+ onPrimary = Color.White,
+ onSecondary = Color.White,
+ onTertiary = Color.White,
+ onBackground = Color(0xFF1C1B1F),
+ onSurface = Color(0xFF1C1B1F),
+ */
+)
+
+@Composable
+fun DokoTheme(
+ darkTheme: Boolean = isSystemInDarkTheme(),
+ // Dynamic color is available on Android 12+
+ dynamicColor: Boolean = true,
+ content: @Composable () -> Unit
+) {
+ val colorScheme = when {
+ dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
+ val context = LocalContext.current
+ if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
+ }
+
+ darkTheme -> DarkColorScheme
+ else -> LightColorScheme
+ }
+
+ MaterialTheme(
+ colorScheme = colorScheme,
+ typography = Typography,
+ content = content
+ )
+}
\ No newline at end of file
diff --git a/ddsdemo/src/main/java/com/droidconke/ddsdemo/ui/theme/Type.kt b/ddsdemo/src/main/java/com/droidconke/ddsdemo/ui/theme/Type.kt
new file mode 100644
index 0000000..0e96ad2
--- /dev/null
+++ b/ddsdemo/src/main/java/com/droidconke/ddsdemo/ui/theme/Type.kt
@@ -0,0 +1,34 @@
+package com.droidconke.ddsdemo.ui.theme
+
+import androidx.compose.material3.Typography
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.unit.sp
+
+// Set of Material typography styles to start with
+val Typography = Typography(
+ bodyLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 16.sp,
+ lineHeight = 24.sp,
+ letterSpacing = 0.5.sp
+ )
+ /* Other default text styles to override
+ titleLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 22.sp,
+ lineHeight = 28.sp,
+ letterSpacing = 0.sp
+ ),
+ labelSmall = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Medium,
+ fontSize = 11.sp,
+ lineHeight = 16.sp,
+ letterSpacing = 0.5.sp
+ )
+ */
+)
\ No newline at end of file
diff --git a/app/src/main/res/drawable/ic_launcher_background.xml b/ddsdemo/src/main/res/drawable/ic_launcher_background.xml
similarity index 100%
rename from app/src/main/res/drawable/ic_launcher_background.xml
rename to ddsdemo/src/main/res/drawable/ic_launcher_background.xml
diff --git a/app/src/main/res/drawable-v24/ic_launcher_foreground.xml b/ddsdemo/src/main/res/drawable/ic_launcher_foreground.xml
similarity index 100%
rename from app/src/main/res/drawable-v24/ic_launcher_foreground.xml
rename to ddsdemo/src/main/res/drawable/ic_launcher_foreground.xml
diff --git a/app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml b/ddsdemo/src/main/res/mipmap-anydpi/ic_launcher.xml
similarity index 100%
rename from app/src/main/res/mipmap-anydpi-v33/ic_launcher.xml
rename to ddsdemo/src/main/res/mipmap-anydpi/ic_launcher.xml
diff --git a/ddsdemo/src/main/res/mipmap-anydpi/ic_launcher_round.xml b/ddsdemo/src/main/res/mipmap-anydpi/ic_launcher_round.xml
new file mode 100644
index 0000000..6f3b755
--- /dev/null
+++ b/ddsdemo/src/main/res/mipmap-anydpi/ic_launcher_round.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher.webp b/ddsdemo/src/main/res/mipmap-hdpi/ic_launcher.webp
similarity index 100%
rename from app/src/main/res/mipmap-hdpi/ic_launcher.webp
rename to ddsdemo/src/main/res/mipmap-hdpi/ic_launcher.webp
diff --git a/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/ddsdemo/src/main/res/mipmap-hdpi/ic_launcher_round.webp
similarity index 100%
rename from app/src/main/res/mipmap-hdpi/ic_launcher_round.webp
rename to ddsdemo/src/main/res/mipmap-hdpi/ic_launcher_round.webp
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher.webp b/ddsdemo/src/main/res/mipmap-mdpi/ic_launcher.webp
similarity index 100%
rename from app/src/main/res/mipmap-mdpi/ic_launcher.webp
rename to ddsdemo/src/main/res/mipmap-mdpi/ic_launcher.webp
diff --git a/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/ddsdemo/src/main/res/mipmap-mdpi/ic_launcher_round.webp
similarity index 100%
rename from app/src/main/res/mipmap-mdpi/ic_launcher_round.webp
rename to ddsdemo/src/main/res/mipmap-mdpi/ic_launcher_round.webp
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher.webp b/ddsdemo/src/main/res/mipmap-xhdpi/ic_launcher.webp
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/ic_launcher.webp
rename to ddsdemo/src/main/res/mipmap-xhdpi/ic_launcher.webp
diff --git a/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/ddsdemo/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
similarity index 100%
rename from app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
rename to ddsdemo/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/ddsdemo/src/main/res/mipmap-xxhdpi/ic_launcher.webp
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/ic_launcher.webp
rename to ddsdemo/src/main/res/mipmap-xxhdpi/ic_launcher.webp
diff --git a/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/ddsdemo/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
similarity index 100%
rename from app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
rename to ddsdemo/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/ddsdemo/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
similarity index 100%
rename from app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
rename to ddsdemo/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
diff --git a/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/ddsdemo/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
similarity index 100%
rename from app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
rename to ddsdemo/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
diff --git a/app/src/main/res/values/colors.xml b/ddsdemo/src/main/res/values/colors.xml
similarity index 100%
rename from app/src/main/res/values/colors.xml
rename to ddsdemo/src/main/res/values/colors.xml
diff --git a/ddsdemo/src/main/res/values/strings.xml b/ddsdemo/src/main/res/values/strings.xml
new file mode 100644
index 0000000..7da2f15
--- /dev/null
+++ b/ddsdemo/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ ddsdemo
+
\ No newline at end of file
diff --git a/ddsdemo/src/main/res/values/themes.xml b/ddsdemo/src/main/res/values/themes.xml
new file mode 100644
index 0000000..8d7fdb6
--- /dev/null
+++ b/ddsdemo/src/main/res/values/themes.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/ddsdemo/src/test/java/com/droidconke/ddsdemo/ExampleUnitTest.kt b/ddsdemo/src/test/java/com/droidconke/ddsdemo/ExampleUnitTest.kt
new file mode 100644
index 0000000..1f52095
--- /dev/null
+++ b/ddsdemo/src/test/java/com/droidconke/ddsdemo/ExampleUnitTest.kt
@@ -0,0 +1,17 @@
+package com.droidconke.ddsdemo
+
+import org.junit.Test
+
+import org.junit.Assert.*
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+class ExampleUnitTest {
+ @Test
+ fun addition_isCorrect() {
+ assertEquals(4, 2 + 2)
+ }
+}
\ No newline at end of file
diff --git a/docs/Ideas.md b/docs/Ideas.md
index 40edf54..39ee15e 100644
--- a/docs/Ideas.md
+++ b/docs/Ideas.md
@@ -1,8 +1,9 @@
# Just some ideas noted as development progresses
- Have 3 Apps in one:
- - A shoppers App to shop for items
- - A Merchant App to sell items
- - Admin App to check on status of everything
+ - A shoppers App to shop for items- doko
+ - A Merchant App to sell items - dokomerchant
+ - Admin App to check on status of everything - dokoadmin
+ - Doko design System Demo - demo UI for developers built on top of chai design system - dokdsdemo
- Kotlin MultiPlatform?
\ No newline at end of file
diff --git a/doko/.gitignore b/doko/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/doko/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/doko/build.gradle.kts b/doko/build.gradle.kts
new file mode 100644
index 0000000..d849b17
--- /dev/null
+++ b/doko/build.gradle.kts
@@ -0,0 +1,80 @@
+plugins {
+ alias(libs.plugins.doko.android.application)
+ alias(libs.plugins.doko.android.application.compose)
+ alias(libs.plugins.doko.hilt)
+ alias(libs.plugins.roborazzi)
+ alias(libs.plugins.ktlint)
+}
+
+android {
+ namespace = "com.droidconke.doko"
+ compileSdk = 34
+
+ defaultConfig {
+ applicationId = "com.droidconke.doko"
+ versionCode = 1
+ versionName = "0.0.01" // X.Y.ZZ; X = Major, Y = minor, Z = Patch level can be many digits
+
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ vectorDrawables {
+ useSupportLibrary = true
+ }
+ }
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro",
+ )
+ }
+ }
+ testOptions {
+ unitTests {
+ isIncludeAndroidResources = true
+ }
+ }
+ packaging {
+ resources {
+ excludes += "/META-INF/{AL2.0,LGPL2.1}"
+ }
+ }
+}
+
+dependencies {
+
+
+ implementation(libs.androidx.activity.compose)
+ implementation(libs.androidx.compose.material3)
+ implementation(libs.androidx.compose.material3.adaptive)
+ implementation(libs.androidx.compose.material3.adaptive.layout)
+ implementation(libs.androidx.compose.material3.adaptive.navigation)
+ implementation(libs.androidx.compose.material3.windowSizeClass)
+ implementation(libs.androidx.compose.runtime.tracing)
+ implementation(libs.androidx.core.splashscreen)
+ implementation(libs.androidx.hilt.navigation.compose)
+ implementation(libs.androidx.lifecycle.runtimeCompose)
+ implementation(libs.androidx.navigation.compose)
+ implementation(libs.androidx.profileinstaller)
+ implementation(libs.androidx.tracing.ktx)
+ implementation(libs.androidx.window.core)
+ implementation(libs.kotlinx.coroutines.guava)
+ implementation(libs.coil.kt)
+
+ ksp(libs.hilt.compiler)
+
+ androidTestImplementation(libs.androidx.compose.ui.test)
+ androidTestImplementation(kotlin("test"))
+ androidTestImplementation(libs.androidx.navigation.testing)
+ androidTestImplementation(libs.androidx.test.espresso.core)
+ androidTestImplementation(libs.androidx.ui.test.junit4)
+ androidTestImplementation(libs.hilt.android.testing)
+
+ debugImplementation(libs.androidx.ui.test.manifest)
+ debugImplementation(libs.androidx.ui.tooling)
+
+ testImplementation(libs.junit)
+ testImplementation(libs.hilt.android.testing)
+
+ kspTest(libs.hilt.compiler)
+}
diff --git a/app/proguard-rules.pro b/doko/proguard-rules.pro
similarity index 100%
rename from app/proguard-rules.pro
rename to doko/proguard-rules.pro
diff --git a/app/src/androidTest/java/com/droidconke/dckeswag/ExampleInstrumentedTest.kt b/doko/src/androidTest/java/com/droidconke/dckeswag/ExampleInstrumentedTest.kt
similarity index 100%
rename from app/src/androidTest/java/com/droidconke/dckeswag/ExampleInstrumentedTest.kt
rename to doko/src/androidTest/java/com/droidconke/dckeswag/ExampleInstrumentedTest.kt
diff --git a/app/src/main/AndroidManifest.xml b/doko/src/main/AndroidManifest.xml
similarity index 100%
rename from app/src/main/AndroidManifest.xml
rename to doko/src/main/AndroidManifest.xml
diff --git a/app/src/main/java/com/droidconke/dckeswag/MainActivity.kt b/doko/src/main/java/com/droidconke/dckeswag/MainActivity.kt
similarity index 100%
rename from app/src/main/java/com/droidconke/dckeswag/MainActivity.kt
rename to doko/src/main/java/com/droidconke/dckeswag/MainActivity.kt
diff --git a/app/src/main/java/com/droidconke/dckeswag/ui/theme/Color.kt b/doko/src/main/java/com/droidconke/dckeswag/ui/theme/Color.kt
similarity index 100%
rename from app/src/main/java/com/droidconke/dckeswag/ui/theme/Color.kt
rename to doko/src/main/java/com/droidconke/dckeswag/ui/theme/Color.kt
diff --git a/app/src/main/java/com/droidconke/dckeswag/ui/theme/Shape.kt b/doko/src/main/java/com/droidconke/dckeswag/ui/theme/Shape.kt
similarity index 100%
rename from app/src/main/java/com/droidconke/dckeswag/ui/theme/Shape.kt
rename to doko/src/main/java/com/droidconke/dckeswag/ui/theme/Shape.kt
diff --git a/app/src/main/java/com/droidconke/dckeswag/ui/theme/Theme.kt b/doko/src/main/java/com/droidconke/dckeswag/ui/theme/Theme.kt
similarity index 100%
rename from app/src/main/java/com/droidconke/dckeswag/ui/theme/Theme.kt
rename to doko/src/main/java/com/droidconke/dckeswag/ui/theme/Theme.kt
diff --git a/app/src/main/java/com/droidconke/dckeswag/ui/theme/Type.kt b/doko/src/main/java/com/droidconke/dckeswag/ui/theme/Type.kt
similarity index 100%
rename from app/src/main/java/com/droidconke/dckeswag/ui/theme/Type.kt
rename to doko/src/main/java/com/droidconke/dckeswag/ui/theme/Type.kt
diff --git a/doko/src/main/res/drawable-v24/ic_launcher_foreground.xml b/doko/src/main/res/drawable-v24/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/doko/src/main/res/drawable-v24/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doko/src/main/res/drawable/ic_launcher_background.xml b/doko/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..07d5da9
--- /dev/null
+++ b/doko/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml b/doko/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
similarity index 100%
rename from app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
rename to doko/src/main/res/mipmap-anydpi-v26/ic_launcher.xml
diff --git a/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml b/doko/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
similarity index 100%
rename from app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
rename to doko/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml
diff --git a/doko/src/main/res/mipmap-anydpi-v33/ic_launcher.xml b/doko/src/main/res/mipmap-anydpi-v33/ic_launcher.xml
new file mode 100644
index 0000000..6f3b755
--- /dev/null
+++ b/doko/src/main/res/mipmap-anydpi-v33/ic_launcher.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/doko/src/main/res/mipmap-hdpi/ic_launcher.webp b/doko/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000..c209e78
Binary files /dev/null and b/doko/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/doko/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/doko/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..b2dfe3d
Binary files /dev/null and b/doko/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/doko/src/main/res/mipmap-mdpi/ic_launcher.webp b/doko/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000..4f0f1d6
Binary files /dev/null and b/doko/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/doko/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/doko/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..62b611d
Binary files /dev/null and b/doko/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/doko/src/main/res/mipmap-xhdpi/ic_launcher.webp b/doko/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000..948a307
Binary files /dev/null and b/doko/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/doko/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/doko/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..1b9a695
Binary files /dev/null and b/doko/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/doko/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/doko/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..28d4b77
Binary files /dev/null and b/doko/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/doko/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/doko/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9287f50
Binary files /dev/null and b/doko/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/doko/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/doko/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..aa7d642
Binary files /dev/null and b/doko/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/doko/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/doko/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9126ae3
Binary files /dev/null and b/doko/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/doko/src/main/res/values/colors.xml b/doko/src/main/res/values/colors.xml
new file mode 100644
index 0000000..f8c6127
--- /dev/null
+++ b/doko/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+
+
+ #FFBB86FC
+ #FF6200EE
+ #FF3700B3
+ #FF03DAC5
+ #FF018786
+ #FF000000
+ #FFFFFFFF
+
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/doko/src/main/res/values/strings.xml
similarity index 100%
rename from app/src/main/res/values/strings.xml
rename to doko/src/main/res/values/strings.xml
diff --git a/app/src/main/res/values/themes.xml b/doko/src/main/res/values/themes.xml
similarity index 100%
rename from app/src/main/res/values/themes.xml
rename to doko/src/main/res/values/themes.xml
diff --git a/app/src/main/res/xml/backup_rules.xml b/doko/src/main/res/xml/backup_rules.xml
similarity index 100%
rename from app/src/main/res/xml/backup_rules.xml
rename to doko/src/main/res/xml/backup_rules.xml
diff --git a/app/src/main/res/xml/data_extraction_rules.xml b/doko/src/main/res/xml/data_extraction_rules.xml
similarity index 100%
rename from app/src/main/res/xml/data_extraction_rules.xml
rename to doko/src/main/res/xml/data_extraction_rules.xml
diff --git a/app/src/test/java/com/droidconke/dckeswag/ExampleUnitTest.kt b/doko/src/test/java/com/droidconke/dckeswag/ExampleUnitTest.kt
similarity index 100%
rename from app/src/test/java/com/droidconke/dckeswag/ExampleUnitTest.kt
rename to doko/src/test/java/com/droidconke/dckeswag/ExampleUnitTest.kt
diff --git a/dokoadmin/.gitignore b/dokoadmin/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/dokoadmin/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/dokoadmin/build.gradle.kts b/dokoadmin/build.gradle.kts
new file mode 100644
index 0000000..18bdb19
--- /dev/null
+++ b/dokoadmin/build.gradle.kts
@@ -0,0 +1,59 @@
+plugins {
+ alias(libs.plugins.android.application)
+ alias(libs.plugins.jetbrains.kotlin.android)
+ alias(libs.plugins.compose.compiler)
+}
+
+android {
+ namespace = "com.droidonke.dokoadmin"
+ compileSdk = 34
+
+ defaultConfig {
+ applicationId = "com.droidonke.dokoadmin"
+ minSdk = 28
+ targetSdk = 34
+ versionCode = 1
+ versionName = "1.0"
+
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+ }
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+ kotlinOptions {
+ jvmTarget = "11"
+ }
+ buildFeatures {
+ compose = true
+ }
+}
+
+dependencies {
+
+ implementation(libs.androidx.core.ktx)
+ implementation(libs.androidx.lifecycle.runtime.ktx)
+ implementation(libs.androidx.activity.compose)
+ implementation(platform(libs.androidx.compose.bom))
+ implementation(libs.androidx.ui)
+ implementation(libs.androidx.ui.graphics)
+ implementation(libs.androidx.ui.tooling.preview)
+ implementation(libs.androidx.compose.material3)
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
+ androidTestImplementation(platform(libs.androidx.compose.bom))
+ androidTestImplementation(libs.androidx.ui.test.junit4)
+ debugImplementation(libs.androidx.ui.tooling)
+ debugImplementation(libs.androidx.ui.test.manifest)
+}
\ No newline at end of file
diff --git a/dokoadmin/proguard-rules.pro b/dokoadmin/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/dokoadmin/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/dokoadmin/src/androidTest/java/com/droidonke/dokoadmin/ExampleInstrumentedTest.kt b/dokoadmin/src/androidTest/java/com/droidonke/dokoadmin/ExampleInstrumentedTest.kt
new file mode 100644
index 0000000..6aa805c
--- /dev/null
+++ b/dokoadmin/src/androidTest/java/com/droidonke/dokoadmin/ExampleInstrumentedTest.kt
@@ -0,0 +1,24 @@
+package com.droidonke.dokoadmin
+
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.ext.junit.runners.AndroidJUnit4
+
+import org.junit.Test
+import org.junit.runner.RunWith
+
+import org.junit.Assert.*
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+@RunWith(AndroidJUnit4::class)
+class ExampleInstrumentedTest {
+ @Test
+ fun useAppContext() {
+ // Context of the app under test.
+ val appContext = InstrumentationRegistry.getInstrumentation().targetContext
+ assertEquals("com.droidonke.dokoadmin", appContext.packageName)
+ }
+}
\ No newline at end of file
diff --git a/dokoadmin/src/main/AndroidManifest.xml b/dokoadmin/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..6e34c8c
--- /dev/null
+++ b/dokoadmin/src/main/AndroidManifest.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dokoadmin/src/main/java/com/droidonke/dokoadmin/MainActivity.kt b/dokoadmin/src/main/java/com/droidonke/dokoadmin/MainActivity.kt
new file mode 100644
index 0000000..d6a8cf5
--- /dev/null
+++ b/dokoadmin/src/main/java/com/droidonke/dokoadmin/MainActivity.kt
@@ -0,0 +1,47 @@
+package com.droidonke.dokoadmin
+
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import androidx.activity.enableEdgeToEdge
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material3.Scaffold
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.tooling.preview.Preview
+import com.droidonke.dokoadmin.ui.theme.DokoTheme
+
+class MainActivity : ComponentActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContent {
+ DokoTheme {
+ Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
+ Greeting(
+ name = "Android",
+ modifier = Modifier.padding(innerPadding)
+ )
+ }
+ }
+ }
+ }
+}
+
+@Composable
+fun Greeting(name: String, modifier: Modifier = Modifier) {
+ Text(
+ text = "Hello $name!",
+ modifier = modifier
+ )
+}
+
+@Preview(showBackground = true)
+@Composable
+fun GreetingPreview() {
+ DokoTheme {
+ Greeting("Android")
+ }
+}
\ No newline at end of file
diff --git a/dokoadmin/src/main/java/com/droidonke/dokoadmin/ui/theme/Color.kt b/dokoadmin/src/main/java/com/droidonke/dokoadmin/ui/theme/Color.kt
new file mode 100644
index 0000000..62e42ff
--- /dev/null
+++ b/dokoadmin/src/main/java/com/droidonke/dokoadmin/ui/theme/Color.kt
@@ -0,0 +1,11 @@
+package com.droidonke.dokoadmin.ui.theme
+
+import androidx.compose.ui.graphics.Color
+
+val Purple80 = Color(0xFFD0BCFF)
+val PurpleGrey80 = Color(0xFFCCC2DC)
+val Pink80 = Color(0xFFEFB8C8)
+
+val Purple40 = Color(0xFF6650a4)
+val PurpleGrey40 = Color(0xFF625b71)
+val Pink40 = Color(0xFF7D5260)
\ No newline at end of file
diff --git a/dokoadmin/src/main/java/com/droidonke/dokoadmin/ui/theme/Theme.kt b/dokoadmin/src/main/java/com/droidonke/dokoadmin/ui/theme/Theme.kt
new file mode 100644
index 0000000..126d569
--- /dev/null
+++ b/dokoadmin/src/main/java/com/droidonke/dokoadmin/ui/theme/Theme.kt
@@ -0,0 +1,58 @@
+package com.droidonke.dokoadmin.ui.theme
+
+import android.app.Activity
+import android.os.Build
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.dynamicDarkColorScheme
+import androidx.compose.material3.dynamicLightColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+
+private val DarkColorScheme = darkColorScheme(
+ primary = Purple80,
+ secondary = PurpleGrey80,
+ tertiary = Pink80
+)
+
+private val LightColorScheme = lightColorScheme(
+ primary = Purple40,
+ secondary = PurpleGrey40,
+ tertiary = Pink40
+
+ /* Other default colors to override
+ background = Color(0xFFFFFBFE),
+ surface = Color(0xFFFFFBFE),
+ onPrimary = Color.White,
+ onSecondary = Color.White,
+ onTertiary = Color.White,
+ onBackground = Color(0xFF1C1B1F),
+ onSurface = Color(0xFF1C1B1F),
+ */
+)
+
+@Composable
+fun DokoTheme(
+ darkTheme: Boolean = isSystemInDarkTheme(),
+ // Dynamic color is available on Android 12+
+ dynamicColor: Boolean = true,
+ content: @Composable () -> Unit
+) {
+ val colorScheme = when {
+ dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
+ val context = LocalContext.current
+ if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
+ }
+
+ darkTheme -> DarkColorScheme
+ else -> LightColorScheme
+ }
+
+ MaterialTheme(
+ colorScheme = colorScheme,
+ typography = Typography,
+ content = content
+ )
+}
\ No newline at end of file
diff --git a/dokoadmin/src/main/java/com/droidonke/dokoadmin/ui/theme/Type.kt b/dokoadmin/src/main/java/com/droidonke/dokoadmin/ui/theme/Type.kt
new file mode 100644
index 0000000..7849040
--- /dev/null
+++ b/dokoadmin/src/main/java/com/droidonke/dokoadmin/ui/theme/Type.kt
@@ -0,0 +1,34 @@
+package com.droidonke.dokoadmin.ui.theme
+
+import androidx.compose.material3.Typography
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.unit.sp
+
+// Set of Material typography styles to start with
+val Typography = Typography(
+ bodyLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 16.sp,
+ lineHeight = 24.sp,
+ letterSpacing = 0.5.sp
+ )
+ /* Other default text styles to override
+ titleLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 22.sp,
+ lineHeight = 28.sp,
+ letterSpacing = 0.sp
+ ),
+ labelSmall = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Medium,
+ fontSize = 11.sp,
+ lineHeight = 16.sp,
+ letterSpacing = 0.5.sp
+ )
+ */
+)
\ No newline at end of file
diff --git a/dokoadmin/src/main/res/drawable/ic_launcher_background.xml b/dokoadmin/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..07d5da9
--- /dev/null
+++ b/dokoadmin/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dokoadmin/src/main/res/drawable/ic_launcher_foreground.xml b/dokoadmin/src/main/res/drawable/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/dokoadmin/src/main/res/drawable/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dokoadmin/src/main/res/mipmap-anydpi/ic_launcher.xml b/dokoadmin/src/main/res/mipmap-anydpi/ic_launcher.xml
new file mode 100644
index 0000000..6f3b755
--- /dev/null
+++ b/dokoadmin/src/main/res/mipmap-anydpi/ic_launcher.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dokoadmin/src/main/res/mipmap-anydpi/ic_launcher_round.xml b/dokoadmin/src/main/res/mipmap-anydpi/ic_launcher_round.xml
new file mode 100644
index 0000000..6f3b755
--- /dev/null
+++ b/dokoadmin/src/main/res/mipmap-anydpi/ic_launcher_round.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dokoadmin/src/main/res/mipmap-hdpi/ic_launcher.webp b/dokoadmin/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000..c209e78
Binary files /dev/null and b/dokoadmin/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/dokoadmin/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/dokoadmin/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..b2dfe3d
Binary files /dev/null and b/dokoadmin/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/dokoadmin/src/main/res/mipmap-mdpi/ic_launcher.webp b/dokoadmin/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000..4f0f1d6
Binary files /dev/null and b/dokoadmin/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/dokoadmin/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/dokoadmin/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..62b611d
Binary files /dev/null and b/dokoadmin/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/dokoadmin/src/main/res/mipmap-xhdpi/ic_launcher.webp b/dokoadmin/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000..948a307
Binary files /dev/null and b/dokoadmin/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/dokoadmin/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/dokoadmin/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..1b9a695
Binary files /dev/null and b/dokoadmin/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/dokoadmin/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/dokoadmin/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..28d4b77
Binary files /dev/null and b/dokoadmin/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/dokoadmin/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/dokoadmin/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9287f50
Binary files /dev/null and b/dokoadmin/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/dokoadmin/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/dokoadmin/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..aa7d642
Binary files /dev/null and b/dokoadmin/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/dokoadmin/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/dokoadmin/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9126ae3
Binary files /dev/null and b/dokoadmin/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/dokoadmin/src/main/res/values/colors.xml b/dokoadmin/src/main/res/values/colors.xml
new file mode 100644
index 0000000..f8c6127
--- /dev/null
+++ b/dokoadmin/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+
+
+ #FFBB86FC
+ #FF6200EE
+ #FF3700B3
+ #FF03DAC5
+ #FF018786
+ #FF000000
+ #FFFFFFFF
+
\ No newline at end of file
diff --git a/dokoadmin/src/main/res/values/strings.xml b/dokoadmin/src/main/res/values/strings.xml
new file mode 100644
index 0000000..d55e227
--- /dev/null
+++ b/dokoadmin/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ Dokoadmin
+
\ No newline at end of file
diff --git a/dokoadmin/src/main/res/values/themes.xml b/dokoadmin/src/main/res/values/themes.xml
new file mode 100644
index 0000000..8d7fdb6
--- /dev/null
+++ b/dokoadmin/src/main/res/values/themes.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/dokoadmin/src/test/java/com/droidonke/dokoadmin/ExampleUnitTest.kt b/dokoadmin/src/test/java/com/droidonke/dokoadmin/ExampleUnitTest.kt
new file mode 100644
index 0000000..6307bd5
--- /dev/null
+++ b/dokoadmin/src/test/java/com/droidonke/dokoadmin/ExampleUnitTest.kt
@@ -0,0 +1,17 @@
+package com.droidonke.dokoadmin
+
+import org.junit.Test
+
+import org.junit.Assert.*
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+class ExampleUnitTest {
+ @Test
+ fun addition_isCorrect() {
+ assertEquals(4, 2 + 2)
+ }
+}
\ No newline at end of file
diff --git a/dokomerchant/.gitignore b/dokomerchant/.gitignore
new file mode 100644
index 0000000..42afabf
--- /dev/null
+++ b/dokomerchant/.gitignore
@@ -0,0 +1 @@
+/build
\ No newline at end of file
diff --git a/dokomerchant/build.gradle.kts b/dokomerchant/build.gradle.kts
new file mode 100644
index 0000000..e07d423
--- /dev/null
+++ b/dokomerchant/build.gradle.kts
@@ -0,0 +1,59 @@
+plugins {
+ alias(libs.plugins.android.application)
+ alias(libs.plugins.jetbrains.kotlin.android)
+ alias(libs.plugins.compose.compiler)
+}
+
+android {
+ namespace = "com.droidconke.dokomerchant"
+ compileSdk = 34
+
+ defaultConfig {
+ applicationId = "com.droidconke.dokomerchant"
+ minSdk = 28
+ targetSdk = 34
+ versionCode = 1
+ versionName = "1.0"
+
+ testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
+ }
+
+ buildTypes {
+ release {
+ isMinifyEnabled = false
+ proguardFiles(
+ getDefaultProguardFile("proguard-android-optimize.txt"),
+ "proguard-rules.pro"
+ )
+ }
+ }
+ compileOptions {
+ sourceCompatibility = JavaVersion.VERSION_11
+ targetCompatibility = JavaVersion.VERSION_11
+ }
+ kotlinOptions {
+ jvmTarget = "11"
+ }
+ buildFeatures {
+ compose = true
+ }
+}
+
+dependencies {
+
+ implementation(libs.androidx.core.ktx)
+ implementation(libs.androidx.lifecycle.runtime.ktx)
+ implementation(libs.androidx.activity.compose)
+ implementation(platform(libs.androidx.compose.bom))
+ implementation(libs.androidx.ui)
+ implementation(libs.androidx.ui.graphics)
+ implementation(libs.androidx.ui.tooling.preview)
+ implementation(libs.androidx.compose.material3)
+ testImplementation(libs.junit)
+ androidTestImplementation(libs.androidx.junit)
+ androidTestImplementation(libs.androidx.espresso.core)
+ androidTestImplementation(platform(libs.androidx.compose.bom))
+ androidTestImplementation(libs.androidx.ui.test.junit4)
+ debugImplementation(libs.androidx.ui.tooling)
+ debugImplementation(libs.androidx.ui.test.manifest)
+}
\ No newline at end of file
diff --git a/dokomerchant/proguard-rules.pro b/dokomerchant/proguard-rules.pro
new file mode 100644
index 0000000..481bb43
--- /dev/null
+++ b/dokomerchant/proguard-rules.pro
@@ -0,0 +1,21 @@
+# Add project specific ProGuard rules here.
+# You can control the set of applied configuration files using the
+# proguardFiles setting in build.gradle.
+#
+# For more details, see
+# http://developer.android.com/guide/developing/tools/proguard.html
+
+# If your project uses WebView with JS, uncomment the following
+# and specify the fully qualified class name to the JavaScript interface
+# class:
+#-keepclassmembers class fqcn.of.javascript.interface.for.webview {
+# public *;
+#}
+
+# Uncomment this to preserve the line number information for
+# debugging stack traces.
+#-keepattributes SourceFile,LineNumberTable
+
+# If you keep the line number information, uncomment this to
+# hide the original source file name.
+#-renamesourcefileattribute SourceFile
\ No newline at end of file
diff --git a/dokomerchant/src/androidTest/java/com/droidconke/dokomerchant/ExampleInstrumentedTest.kt b/dokomerchant/src/androidTest/java/com/droidconke/dokomerchant/ExampleInstrumentedTest.kt
new file mode 100644
index 0000000..88f1e7c
--- /dev/null
+++ b/dokomerchant/src/androidTest/java/com/droidconke/dokomerchant/ExampleInstrumentedTest.kt
@@ -0,0 +1,24 @@
+package com.droidconke.dokomerchant
+
+import androidx.test.platform.app.InstrumentationRegistry
+import androidx.test.ext.junit.runners.AndroidJUnit4
+
+import org.junit.Test
+import org.junit.runner.RunWith
+
+import org.junit.Assert.*
+
+/**
+ * Instrumented test, which will execute on an Android device.
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+@RunWith(AndroidJUnit4::class)
+class ExampleInstrumentedTest {
+ @Test
+ fun useAppContext() {
+ // Context of the app under test.
+ val appContext = InstrumentationRegistry.getInstrumentation().targetContext
+ assertEquals("com.droidconke.dokomerchant", appContext.packageName)
+ }
+}
\ No newline at end of file
diff --git a/dokomerchant/src/main/AndroidManifest.xml b/dokomerchant/src/main/AndroidManifest.xml
new file mode 100644
index 0000000..6e34c8c
--- /dev/null
+++ b/dokomerchant/src/main/AndroidManifest.xml
@@ -0,0 +1,24 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dokomerchant/src/main/java/com/droidconke/dokomerchant/MainActivity.kt b/dokomerchant/src/main/java/com/droidconke/dokomerchant/MainActivity.kt
new file mode 100644
index 0000000..5561f3d
--- /dev/null
+++ b/dokomerchant/src/main/java/com/droidconke/dokomerchant/MainActivity.kt
@@ -0,0 +1,47 @@
+package com.droidconke.dokomerchant
+
+import android.os.Bundle
+import androidx.activity.ComponentActivity
+import androidx.activity.compose.setContent
+import androidx.activity.enableEdgeToEdge
+import androidx.compose.foundation.layout.fillMaxSize
+import androidx.compose.foundation.layout.padding
+import androidx.compose.material3.Scaffold
+import androidx.compose.material3.Text
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.Modifier
+import androidx.compose.ui.tooling.preview.Preview
+import com.droidconke.dokomerchant.ui.theme.DokoTheme
+
+class MainActivity : ComponentActivity() {
+ override fun onCreate(savedInstanceState: Bundle?) {
+ super.onCreate(savedInstanceState)
+ enableEdgeToEdge()
+ setContent {
+ DokoTheme {
+ Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
+ Greeting(
+ name = "Android",
+ modifier = Modifier.padding(innerPadding)
+ )
+ }
+ }
+ }
+ }
+}
+
+@Composable
+fun Greeting(name: String, modifier: Modifier = Modifier) {
+ Text(
+ text = "Hello $name!",
+ modifier = modifier
+ )
+}
+
+@Preview(showBackground = true)
+@Composable
+fun GreetingPreview() {
+ DokoTheme {
+ Greeting("Android")
+ }
+}
\ No newline at end of file
diff --git a/dokomerchant/src/main/java/com/droidconke/dokomerchant/ui/theme/Color.kt b/dokomerchant/src/main/java/com/droidconke/dokomerchant/ui/theme/Color.kt
new file mode 100644
index 0000000..9e833a4
--- /dev/null
+++ b/dokomerchant/src/main/java/com/droidconke/dokomerchant/ui/theme/Color.kt
@@ -0,0 +1,11 @@
+package com.droidconke.dokomerchant.ui.theme
+
+import androidx.compose.ui.graphics.Color
+
+val Purple80 = Color(0xFFD0BCFF)
+val PurpleGrey80 = Color(0xFFCCC2DC)
+val Pink80 = Color(0xFFEFB8C8)
+
+val Purple40 = Color(0xFF6650a4)
+val PurpleGrey40 = Color(0xFF625b71)
+val Pink40 = Color(0xFF7D5260)
\ No newline at end of file
diff --git a/dokomerchant/src/main/java/com/droidconke/dokomerchant/ui/theme/Theme.kt b/dokomerchant/src/main/java/com/droidconke/dokomerchant/ui/theme/Theme.kt
new file mode 100644
index 0000000..99f488e
--- /dev/null
+++ b/dokomerchant/src/main/java/com/droidconke/dokomerchant/ui/theme/Theme.kt
@@ -0,0 +1,58 @@
+package com.droidconke.dokomerchant.ui.theme
+
+import android.app.Activity
+import android.os.Build
+import androidx.compose.foundation.isSystemInDarkTheme
+import androidx.compose.material3.MaterialTheme
+import androidx.compose.material3.darkColorScheme
+import androidx.compose.material3.dynamicDarkColorScheme
+import androidx.compose.material3.dynamicLightColorScheme
+import androidx.compose.material3.lightColorScheme
+import androidx.compose.runtime.Composable
+import androidx.compose.ui.platform.LocalContext
+
+private val DarkColorScheme = darkColorScheme(
+ primary = Purple80,
+ secondary = PurpleGrey80,
+ tertiary = Pink80
+)
+
+private val LightColorScheme = lightColorScheme(
+ primary = Purple40,
+ secondary = PurpleGrey40,
+ tertiary = Pink40
+
+ /* Other default colors to override
+ background = Color(0xFFFFFBFE),
+ surface = Color(0xFFFFFBFE),
+ onPrimary = Color.White,
+ onSecondary = Color.White,
+ onTertiary = Color.White,
+ onBackground = Color(0xFF1C1B1F),
+ onSurface = Color(0xFF1C1B1F),
+ */
+)
+
+@Composable
+fun DokoTheme(
+ darkTheme: Boolean = isSystemInDarkTheme(),
+ // Dynamic color is available on Android 12+
+ dynamicColor: Boolean = true,
+ content: @Composable () -> Unit
+) {
+ val colorScheme = when {
+ dynamicColor && Build.VERSION.SDK_INT >= Build.VERSION_CODES.S -> {
+ val context = LocalContext.current
+ if (darkTheme) dynamicDarkColorScheme(context) else dynamicLightColorScheme(context)
+ }
+
+ darkTheme -> DarkColorScheme
+ else -> LightColorScheme
+ }
+
+ MaterialTheme(
+ colorScheme = colorScheme,
+ typography = Typography,
+ content = content
+ )
+}
\ No newline at end of file
diff --git a/dokomerchant/src/main/java/com/droidconke/dokomerchant/ui/theme/Type.kt b/dokomerchant/src/main/java/com/droidconke/dokomerchant/ui/theme/Type.kt
new file mode 100644
index 0000000..583daa3
--- /dev/null
+++ b/dokomerchant/src/main/java/com/droidconke/dokomerchant/ui/theme/Type.kt
@@ -0,0 +1,34 @@
+package com.droidconke.dokomerchant.ui.theme
+
+import androidx.compose.material3.Typography
+import androidx.compose.ui.text.TextStyle
+import androidx.compose.ui.text.font.FontFamily
+import androidx.compose.ui.text.font.FontWeight
+import androidx.compose.ui.unit.sp
+
+// Set of Material typography styles to start with
+val Typography = Typography(
+ bodyLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 16.sp,
+ lineHeight = 24.sp,
+ letterSpacing = 0.5.sp
+ )
+ /* Other default text styles to override
+ titleLarge = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Normal,
+ fontSize = 22.sp,
+ lineHeight = 28.sp,
+ letterSpacing = 0.sp
+ ),
+ labelSmall = TextStyle(
+ fontFamily = FontFamily.Default,
+ fontWeight = FontWeight.Medium,
+ fontSize = 11.sp,
+ lineHeight = 16.sp,
+ letterSpacing = 0.5.sp
+ )
+ */
+)
\ No newline at end of file
diff --git a/dokomerchant/src/main/res/drawable/ic_launcher_background.xml b/dokomerchant/src/main/res/drawable/ic_launcher_background.xml
new file mode 100644
index 0000000..07d5da9
--- /dev/null
+++ b/dokomerchant/src/main/res/drawable/ic_launcher_background.xml
@@ -0,0 +1,170 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/dokomerchant/src/main/res/drawable/ic_launcher_foreground.xml b/dokomerchant/src/main/res/drawable/ic_launcher_foreground.xml
new file mode 100644
index 0000000..2b068d1
--- /dev/null
+++ b/dokomerchant/src/main/res/drawable/ic_launcher_foreground.xml
@@ -0,0 +1,30 @@
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dokomerchant/src/main/res/mipmap-anydpi/ic_launcher.xml b/dokomerchant/src/main/res/mipmap-anydpi/ic_launcher.xml
new file mode 100644
index 0000000..6f3b755
--- /dev/null
+++ b/dokomerchant/src/main/res/mipmap-anydpi/ic_launcher.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dokomerchant/src/main/res/mipmap-anydpi/ic_launcher_round.xml b/dokomerchant/src/main/res/mipmap-anydpi/ic_launcher_round.xml
new file mode 100644
index 0000000..6f3b755
--- /dev/null
+++ b/dokomerchant/src/main/res/mipmap-anydpi/ic_launcher_round.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/dokomerchant/src/main/res/mipmap-hdpi/ic_launcher.webp b/dokomerchant/src/main/res/mipmap-hdpi/ic_launcher.webp
new file mode 100644
index 0000000..c209e78
Binary files /dev/null and b/dokomerchant/src/main/res/mipmap-hdpi/ic_launcher.webp differ
diff --git a/dokomerchant/src/main/res/mipmap-hdpi/ic_launcher_round.webp b/dokomerchant/src/main/res/mipmap-hdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..b2dfe3d
Binary files /dev/null and b/dokomerchant/src/main/res/mipmap-hdpi/ic_launcher_round.webp differ
diff --git a/dokomerchant/src/main/res/mipmap-mdpi/ic_launcher.webp b/dokomerchant/src/main/res/mipmap-mdpi/ic_launcher.webp
new file mode 100644
index 0000000..4f0f1d6
Binary files /dev/null and b/dokomerchant/src/main/res/mipmap-mdpi/ic_launcher.webp differ
diff --git a/dokomerchant/src/main/res/mipmap-mdpi/ic_launcher_round.webp b/dokomerchant/src/main/res/mipmap-mdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..62b611d
Binary files /dev/null and b/dokomerchant/src/main/res/mipmap-mdpi/ic_launcher_round.webp differ
diff --git a/dokomerchant/src/main/res/mipmap-xhdpi/ic_launcher.webp b/dokomerchant/src/main/res/mipmap-xhdpi/ic_launcher.webp
new file mode 100644
index 0000000..948a307
Binary files /dev/null and b/dokomerchant/src/main/res/mipmap-xhdpi/ic_launcher.webp differ
diff --git a/dokomerchant/src/main/res/mipmap-xhdpi/ic_launcher_round.webp b/dokomerchant/src/main/res/mipmap-xhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..1b9a695
Binary files /dev/null and b/dokomerchant/src/main/res/mipmap-xhdpi/ic_launcher_round.webp differ
diff --git a/dokomerchant/src/main/res/mipmap-xxhdpi/ic_launcher.webp b/dokomerchant/src/main/res/mipmap-xxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..28d4b77
Binary files /dev/null and b/dokomerchant/src/main/res/mipmap-xxhdpi/ic_launcher.webp differ
diff --git a/dokomerchant/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp b/dokomerchant/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9287f50
Binary files /dev/null and b/dokomerchant/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp differ
diff --git a/dokomerchant/src/main/res/mipmap-xxxhdpi/ic_launcher.webp b/dokomerchant/src/main/res/mipmap-xxxhdpi/ic_launcher.webp
new file mode 100644
index 0000000..aa7d642
Binary files /dev/null and b/dokomerchant/src/main/res/mipmap-xxxhdpi/ic_launcher.webp differ
diff --git a/dokomerchant/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp b/dokomerchant/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp
new file mode 100644
index 0000000..9126ae3
Binary files /dev/null and b/dokomerchant/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp differ
diff --git a/dokomerchant/src/main/res/values/colors.xml b/dokomerchant/src/main/res/values/colors.xml
new file mode 100644
index 0000000..f8c6127
--- /dev/null
+++ b/dokomerchant/src/main/res/values/colors.xml
@@ -0,0 +1,10 @@
+
+
+ #FFBB86FC
+ #FF6200EE
+ #FF3700B3
+ #FF03DAC5
+ #FF018786
+ #FF000000
+ #FFFFFFFF
+
\ No newline at end of file
diff --git a/dokomerchant/src/main/res/values/strings.xml b/dokomerchant/src/main/res/values/strings.xml
new file mode 100644
index 0000000..4627e85
--- /dev/null
+++ b/dokomerchant/src/main/res/values/strings.xml
@@ -0,0 +1,3 @@
+
+ DokoMerchant
+
\ No newline at end of file
diff --git a/dokomerchant/src/main/res/values/themes.xml b/dokomerchant/src/main/res/values/themes.xml
new file mode 100644
index 0000000..8d7fdb6
--- /dev/null
+++ b/dokomerchant/src/main/res/values/themes.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/dokomerchant/src/test/java/com/droidconke/dokomerchant/ExampleUnitTest.kt b/dokomerchant/src/test/java/com/droidconke/dokomerchant/ExampleUnitTest.kt
new file mode 100644
index 0000000..e73924e
--- /dev/null
+++ b/dokomerchant/src/test/java/com/droidconke/dokomerchant/ExampleUnitTest.kt
@@ -0,0 +1,17 @@
+package com.droidconke.dokomerchant
+
+import org.junit.Test
+
+import org.junit.Assert.*
+
+/**
+ * Example local unit test, which will execute on the development machine (host).
+ *
+ * See [testing documentation](http://d.android.com/tools/testing).
+ */
+class ExampleUnitTest {
+ @Test
+ fun addition_isCorrect() {
+ assertEquals(4, 2 + 2)
+ }
+}
\ No newline at end of file
diff --git a/gradle/libs.versions.toml b/gradle/libs.versions.toml
index 981a096..8ca2138 100644
--- a/gradle/libs.versions.toml
+++ b/gradle/libs.versions.toml
@@ -65,7 +65,7 @@ protobufPlugin = "0.9.4"
retrofit = "2.11.0"
retrofitKotlinxSerializationJson = "1.0.0"
robolectric = "4.13"
-roborazzi = "1.26.0"
+roborazzi = "1.28.0"
room = "2.6.1"
roomPaging = "2.6.1"
secrets = "2.0.1"
diff --git a/settings.gradle.kts b/settings.gradle.kts
index c504822..b1de10a 100644
--- a/settings.gradle.kts
+++ b/settings.gradle.kts
@@ -14,4 +14,7 @@ dependencyResolutionManagement {
}
}
rootProject.name = ("doko")
-include(":app")
+include(":doko")
+include(":ddsdemo")
+include(":dokomerchant")
+include(":dokoadmin")