diff --git a/README.md b/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..e12e46ec091aef15ef5743c7f3ddbc1e7913f56d
--- /dev/null
+++ b/README.md
@@ -0,0 +1 @@
+#BONDOMAN
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/MainActivity.kt b/app/src/main/java/com/example/bondoman/MainActivity.kt
index d4209da82001a39c9828a364f128937c2c39411f..f720d5efe22ad5916bdd500da9ae6b2f967162dc 100644
--- a/app/src/main/java/com/example/bondoman/MainActivity.kt
+++ b/app/src/main/java/com/example/bondoman/MainActivity.kt
@@ -4,6 +4,7 @@ import android.Manifest.permission.ACCESS_COARSE_LOCATION
 import android.Manifest.permission.ACCESS_FINE_LOCATION
 import android.app.AlertDialog
 import android.content.Context
+import android.content.IntentFilter
 import androidx.appcompat.app.AppCompatActivity
 import android.os.Bundle
 import android.os.Handler
@@ -23,9 +24,10 @@ import android.net.NetworkCapabilities
 import android.util.Log.d
 import androidx.activity.result.contract.ActivityResultContracts
 import androidx.activity.viewModels
-import com.example.bondoman.models.TransactionViewModel
+import com.example.bondoman.ui.cart.TransactionViewModel
 import com.example.bondoman.room.BondomanDatabase
 import com.example.bondoman.services.LocationDefault
+import com.example.bondoman.services.SettingBroadcastReceiver
 import com.example.bondoman.ui.chart.ChartViewModel
 import com.example.bondoman.ui.nointernet.NoInternetFragment
 import com.example.bondoman.ui.settings.SettingsViewModel
@@ -54,9 +56,14 @@ class MainActivity : AppCompatActivity() {
         SettingsViewModel.provideFactory(db.dao, applicationContext,this)
     }
 
+    private val settingBroadcastReceiver = SettingBroadcastReceiver()
+
 
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
+        registerReceiver(settingBroadcastReceiver, IntentFilter("IDUPIN_RANZOMIZER_TRANSAKSI"),
+            RECEIVER_NOT_EXPORTED
+        )
         locationPermission()
         d("OKE",viewModel.state.value.toString())
         d("DONTDELETE",chartViewModel.toString())
@@ -193,5 +200,6 @@ class MainActivity : AppCompatActivity() {
     override fun onDestroy() {
         super.onDestroy()
         handler.removeCallbacksAndMessages(null)
+        unregisterReceiver(settingBroadcastReceiver)
     }
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/services/SettingBroadcastReceiver.kt b/app/src/main/java/com/example/bondoman/services/SettingBroadcastReceiver.kt
new file mode 100644
index 0000000000000000000000000000000000000000..e9d1cce15a11850f702bf9ad9b0de2930737963d
--- /dev/null
+++ b/app/src/main/java/com/example/bondoman/services/SettingBroadcastReceiver.kt
@@ -0,0 +1,16 @@
+package com.example.bondoman.services
+
+import android.content.BroadcastReceiver
+import android.content.Context
+import android.content.Intent
+import android.util.Log
+
+
+class SettingBroadcastReceiver() : BroadcastReceiver() {
+
+    override fun onReceive(context: Context?, intent: Intent?) {
+        if(intent?.action == "IDUPIN_RANZOMIZER_TRANSAKSI"){
+            Log.d("BROADCASTBB","Dapet")
+        }
+    }
+}
diff --git a/app/src/main/java/com/example/bondoman/ui/cart/CartAdapter.kt b/app/src/main/java/com/example/bondoman/ui/cart/CartAdapter.kt
index e59deed9739a1930817f047221a3ebf06c1ece81..7ff98711c98623e574ee36b3b9c0043d6ec659ab 100644
--- a/app/src/main/java/com/example/bondoman/ui/cart/CartAdapter.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/CartAdapter.kt
@@ -6,12 +6,11 @@ import androidx.fragment.app.FragmentManager
 import androidx.recyclerview.widget.RecyclerView
 import com.example.bondoman.R
 import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionViewModel
-import com.example.bondoman.ui.cart.EditFragment
+import com.example.bondoman.ui.cart.TransactionViewModel
+import com.example.bondoman.ui.cart.edit.EditFragment
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.collect
 import kotlinx.coroutines.launch
 
 class CartAdapter(
diff --git a/app/src/main/java/com/example/bondoman/ui/cart/CartFragment.kt b/app/src/main/java/com/example/bondoman/ui/cart/CartFragment.kt
index b5e396b49fefa7fa8c762251e1fe04884442bba4..8947cffed3314e694df9fb29287e2a0ffb9b5e2d 100644
--- a/app/src/main/java/com/example/bondoman/ui/cart/CartFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/CartFragment.kt
@@ -18,20 +18,14 @@ import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import com.example.bondoman.R
 import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionViewModel
 import com.example.bondoman.services.LocationClient
 import com.example.bondoman.services.LocationDefault
-import com.example.bondoman.services.TransactionState
+import com.example.bondoman.ui.cart.add.AddFragment
 import com.google.android.gms.location.LocationServices
 import kotlinx.coroutines.CoroutineScope
-import kotlinx.coroutines.Dispatchers
-import kotlinx.coroutines.MainScope
-import kotlinx.coroutines.coroutineScope
-import kotlinx.coroutines.flow.observeOn
 import kotlinx.coroutines.launch
 import java.math.BigDecimal
 import java.time.LocalDate
-import kotlin.coroutines.CoroutineContext
 
 
 private const val ARG_PARAM1 = "param1"
diff --git a/app/src/main/java/com/example/bondoman/services/TransactionEvent.kt b/app/src/main/java/com/example/bondoman/ui/cart/TransactionEvent.kt
similarity index 83%
rename from app/src/main/java/com/example/bondoman/services/TransactionEvent.kt
rename to app/src/main/java/com/example/bondoman/ui/cart/TransactionEvent.kt
index 1f2adf99eb615a005137ee3b6a41f646010ef4c1..9bab3420008cdec0a16aefeba087e705a919fb7d 100644
--- a/app/src/main/java/com/example/bondoman/services/TransactionEvent.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/TransactionEvent.kt
@@ -1,6 +1,5 @@
-package com.example.bondoman.services
+package com.example.bondoman.ui.cart
 
-import android.location.Location
 import com.example.bondoman.models.Transaction
 import com.example.bondoman.models.Transaction.Category
 import java.math.BigDecimal
@@ -16,4 +15,5 @@ sealed interface TransactionEvent {
     data class SetNominal(val Nominal: BigDecimal) : TransactionEvent
     data class SetKategori(val Kategori: Category) : TransactionEvent
     data class SetLokasi(val Lokasi: Transaction.Position) : TransactionEvent
+    data class SetBroadcastStatus(val broadcastStatus: Boolean): TransactionEvent
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/services/TransactionState.kt b/app/src/main/java/com/example/bondoman/ui/cart/TransactionState.kt
similarity index 73%
rename from app/src/main/java/com/example/bondoman/services/TransactionState.kt
rename to app/src/main/java/com/example/bondoman/ui/cart/TransactionState.kt
index a0a38109db558fc31e4cbf0e9ce7d3a7cde305ba..4ae7be10d54051dfa298ba0d74b13a943aab2bee 100644
--- a/app/src/main/java/com/example/bondoman/services/TransactionState.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/TransactionState.kt
@@ -1,7 +1,8 @@
-package com.example.bondoman.services
+package com.example.bondoman.ui.cart
 import android.location.Location
 import com.example.bondoman.models.Transaction
 import com.example.bondoman.models.Transaction.Category
+import com.example.bondoman.ui.settings.SettingsEvent
 import java.math.BigDecimal
 import java.time.LocalDate
 
@@ -12,5 +13,6 @@ data class TransactionState (
     val nominal: BigDecimal = BigDecimal(0),
     val kategori: Category = Category.PEMBELIAN,
     val lokasi: Transaction.Position =  Transaction.Position(0.0,0.0),
-    val tanggal: LocalDate = LocalDate.now()
+    val tanggal: LocalDate = LocalDate.now(),
+    val broadcastStatus: Boolean = false
 )
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/models/TransactionViewModel.kt b/app/src/main/java/com/example/bondoman/ui/cart/TransactionViewModel.kt
similarity index 91%
rename from app/src/main/java/com/example/bondoman/models/TransactionViewModel.kt
rename to app/src/main/java/com/example/bondoman/ui/cart/TransactionViewModel.kt
index 25b6705f84052971218d9ff08672fdc926b38c89..16617757cf9be02f012002ca6b2e8abd994c5e44 100644
--- a/app/src/main/java/com/example/bondoman/models/TransactionViewModel.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/TransactionViewModel.kt
@@ -1,4 +1,4 @@
-package com.example.bondoman.models
+package com.example.bondoman.ui.cart
 
 import android.content.Context
 import android.os.Bundle
@@ -9,10 +9,9 @@ import androidx.lifecycle.SavedStateHandle
 import androidx.lifecycle.ViewModel
 import androidx.lifecycle.viewModelScope
 import androidx.savedstate.SavedStateRegistryOwner
+import com.example.bondoman.models.Transaction
 import com.example.bondoman.models.Transaction.Category
 import com.example.bondoman.room.TransactionDao
-import com.example.bondoman.services.TransactionEvent
-import com.example.bondoman.services.TransactionState
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.stateIn
@@ -23,10 +22,8 @@ import java.time.LocalDate
 import com.example.bondoman.services.LocationClient
 import com.example.bondoman.services.LocationDefault
 import kotlinx.coroutines.flow.asStateFlow
-import kotlinx.coroutines.flow.collect
 import kotlinx.coroutines.flow.collectLatest
 import kotlinx.coroutines.flow.combine
-import kotlinx.coroutines.flow.first
 
 class TransactionViewModel(private  val dao : TransactionDao,private val locationProvider : LocationClient,private val context: Context) : ViewModel() {
 
@@ -45,7 +42,8 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                 nominal = state.nominal,
                 kategori = state.kategori,
                 lokasi = state.lokasi,
-                tanggal = state.tanggal
+                tanggal = state.tanggal,
+                broadcastStatus = state.broadcastStatus
             )
     }.stateIn(viewModelScope, SharingStarted.WhileSubscribed(5000), TransactionState())
 
@@ -93,7 +91,7 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                     }
 
                     // Check if lokasi is not default and add to updatedFields
-                    if (lokasi != Transaction.Position(0.0,0.0)) {
+                    if (lokasi != Transaction.Position(0.0, 0.0)) {
                         dao.updateLokasi(id,lokasi)
                     }
 
@@ -107,7 +105,7 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                         judul = "",
                         kategori = Category.PEMBELIAN,
                         nominal = BigDecimal(0),
-                        lokasi = Transaction.Position(0.0,0.0),
+                        lokasi = Transaction.Position(0.0, 0.0),
                         tanggal = LocalDate.now(),
                     )
                 }
@@ -129,7 +127,7 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                         if(name == null){
                             name = ""
                         }
-                        lokasi = Transaction.Position(location.latitude,location.longitude, name!!)
+                        lokasi = Transaction.Position(location.latitude, location.longitude, name!!)
                     }
                     val transaction = Transaction(
                         judul = judul,
@@ -149,7 +147,7 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                         judul = "",
                         kategori = Category.PEMBELIAN,
                         nominal = BigDecimal(0),
-                        lokasi = Transaction.Position(0.0,0.0),
+                        lokasi = Transaction.Position(0.0, 0.0),
                         tanggal = LocalDate.now(),
                     )
                 }
@@ -190,6 +188,13 @@ class TransactionViewModel(private  val dao : TransactionDao,private val locatio
                 d("EVENT TRANSACTION","${_state.value.nominal.toString()}")
             }
 
+            is TransactionEvent.SetBroadcastStatus -> {
+                _state.update {
+                    it.copy(
+                        broadcastStatus = event.broadcastStatus
+                    )
+                }
+            }
         }
     }
 
diff --git a/app/src/main/java/com/example/bondoman/ui/cart/AddFragment.kt b/app/src/main/java/com/example/bondoman/ui/cart/add/AddFragment.kt
similarity index 95%
rename from app/src/main/java/com/example/bondoman/ui/cart/AddFragment.kt
rename to app/src/main/java/com/example/bondoman/ui/cart/add/AddFragment.kt
index 64ac8a915057c53423d187ed4dafb9eda1bc13e9..d154c5b8637b19503d25cadb4fbdd58ba73d6a9f 100644
--- a/app/src/main/java/com/example/bondoman/ui/cart/AddFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/add/AddFragment.kt
@@ -1,8 +1,7 @@
-package com.example.bondoman.ui.cart
+package com.example.bondoman.ui.cart.add
 
 import android.content.Context
 import android.location.Location
-import androidx.lifecycle.ViewModelProvider
 import android.os.Bundle
 import android.util.Log.d
 import androidx.fragment.app.Fragment
@@ -11,16 +10,15 @@ import android.view.View
 import android.view.ViewGroup
 import android.widget.AdapterView
 import android.widget.ArrayAdapter
-import android.widget.Spinner
 import androidx.fragment.app.activityViewModels
 import com.example.bondoman.R
 import com.example.bondoman.databinding.FragmentAddBinding
-import com.example.bondoman.databinding.FragmentLoginBinding
 import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionViewModel
+import com.example.bondoman.ui.cart.TransactionViewModel
 import com.example.bondoman.services.LocationClient
 import com.example.bondoman.services.LocationDefault
-import com.example.bondoman.services.TransactionEvent
+import com.example.bondoman.ui.cart.TransactionEvent
+import com.example.bondoman.ui.cart.CartFragment
 import com.google.android.gms.location.LocationServices
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
diff --git a/app/src/main/java/com/example/bondoman/ui/cart/EditFragment.kt b/app/src/main/java/com/example/bondoman/ui/cart/edit/EditFragment.kt
similarity index 95%
rename from app/src/main/java/com/example/bondoman/ui/cart/EditFragment.kt
rename to app/src/main/java/com/example/bondoman/ui/cart/edit/EditFragment.kt
index 4bcee319e6903de121c615dca147bae5e15a7ec4..c4fd3aa726715d3a1bd3f4a567f33667ad3d1fa3 100644
--- a/app/src/main/java/com/example/bondoman/ui/cart/EditFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/cart/edit/EditFragment.kt
@@ -1,8 +1,7 @@
-package com.example.bondoman.ui.cart
+package com.example.bondoman.ui.cart.edit
 
 import android.content.Context
 import android.location.Location
-import androidx.lifecycle.ViewModelProvider
 import android.os.Bundle
 import android.util.Log.d
 import androidx.fragment.app.Fragment
@@ -11,14 +10,14 @@ import android.view.View
 import android.view.ViewGroup
 import androidx.fragment.app.activityViewModels
 import androidx.lifecycle.Observer
-import androidx.lifecycle.lifecycleScope
 import com.example.bondoman.R
 import com.example.bondoman.databinding.FragmentEditBinding
 import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionViewModel
+import com.example.bondoman.ui.cart.TransactionViewModel
 import com.example.bondoman.services.LocationClient
 import com.example.bondoman.services.LocationDefault
-import com.example.bondoman.services.TransactionEvent
+import com.example.bondoman.ui.cart.TransactionEvent
+import com.example.bondoman.ui.cart.CartFragment
 import com.google.android.gms.location.LocationServices
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
diff --git a/app/src/main/java/com/example/bondoman/ui/chart/ChartFragment.kt b/app/src/main/java/com/example/bondoman/ui/chart/ChartFragment.kt
index 2e491f9107852a62e4c0c9b0903d0d9294977ade..bbe6abf8490ca6e43cc07cf8597e7033b4012920 100644
--- a/app/src/main/java/com/example/bondoman/ui/chart/ChartFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/chart/ChartFragment.kt
@@ -2,7 +2,6 @@ package com.example.bondoman.ui.chart
 
 import android.graphics.Color
 import android.os.Bundle
-import android.util.Log
 import androidx.fragment.app.Fragment
 import android.view.LayoutInflater
 import android.view.View
@@ -11,7 +10,6 @@ import android.widget.Button
 import androidx.fragment.app.activityViewModels
 import com.example.bondoman.R
 import com.example.bondoman.databinding.FragmentChartBinding
-import com.example.bondoman.models.Transaction
 import com.example.bondoman.models.TransactionStats
 import com.github.mikephil.charting.charts.PieChart
 import com.github.mikephil.charting.data.PieData
@@ -19,14 +17,9 @@ import com.github.mikephil.charting.data.PieDataSet
 import com.github.mikephil.charting.data.PieEntry
 import com.github.mikephil.charting.utils.ColorTemplate
 import android.util.Log.d
-import androidx.lifecycle.lifecycleScope
-import com.example.bondoman.models.TransactionViewModel
-import com.example.bondoman.services.TransactionEvent
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
-import kotlinx.coroutines.flow.Flow
-import kotlinx.coroutines.flow.collect
 
 class ChartFragment : Fragment() {
 
diff --git a/app/src/main/java/com/example/bondoman/ui/chart/ChartViewModel.kt b/app/src/main/java/com/example/bondoman/ui/chart/ChartViewModel.kt
index 9f5a8e19d6287e72109e540ae4e1fd8e23d01848..54ee8a7def91d059a45692a85ab48b3d9eae90c5 100644
--- a/app/src/main/java/com/example/bondoman/ui/chart/ChartViewModel.kt
+++ b/app/src/main/java/com/example/bondoman/ui/chart/ChartViewModel.kt
@@ -5,22 +5,11 @@ import android.os.Bundle
 import androidx.lifecycle.AbstractSavedStateViewModelFactory
 import androidx.lifecycle.SavedStateHandle
 import androidx.lifecycle.ViewModel
-import androidx.lifecycle.viewModelScope
 import androidx.savedstate.SavedStateRegistryOwner
-import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionStats
 import com.example.bondoman.room.TransactionDao
-import com.example.bondoman.services.LocationClient
-import com.example.bondoman.services.TransactionState
 import kotlinx.coroutines.ExperimentalCoroutinesApi
 import kotlinx.coroutines.flow.MutableStateFlow
-import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.asStateFlow
-import kotlinx.coroutines.flow.collect
-import kotlinx.coroutines.flow.collectLatest
-import kotlinx.coroutines.flow.combine
-import kotlinx.coroutines.flow.flatMapLatest
-import kotlinx.coroutines.flow.stateIn
 
 @OptIn(ExperimentalCoroutinesApi::class)
 class ChartViewModel(private val dao: TransactionDao, private val context: Context): ViewModel() {
diff --git a/app/src/main/java/com/example/bondoman/ui/scan/ScanFragment.kt b/app/src/main/java/com/example/bondoman/ui/scan/ScanFragment.kt
index 68805815283216d6f1264e2ee029475e294c1034..0a1fe35548c36b653218abeea6aace948d2d8053 100644
--- a/app/src/main/java/com/example/bondoman/ui/scan/ScanFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/scan/ScanFragment.kt
@@ -1,7 +1,6 @@
 package com.example.bondoman.ui.scan
 
 import android.Manifest
-import android.annotation.SuppressLint
 import android.app.Activity
 import android.app.AlertDialog
 import android.content.pm.PackageManager
@@ -19,8 +18,6 @@ import java.util.concurrent.Executors
 import android.content.Context
 import android.content.Intent
 import android.graphics.BitmapFactory
-import android.location.Location
-import android.provider.MediaStore
 import android.widget.Toast
 import androidx.activity.result.contract.ActivityResultContracts
 import androidx.camera.lifecycle.ProcessCameraProvider
@@ -35,9 +32,9 @@ import androidx.recyclerview.widget.LinearLayoutManager
 import androidx.recyclerview.widget.RecyclerView
 import com.example.bondoman.models.Item
 import com.example.bondoman.models.Transaction
-import com.example.bondoman.models.TransactionViewModel
+import com.example.bondoman.ui.cart.TransactionViewModel
 import com.example.bondoman.services.RetrofitClient
-import com.example.bondoman.services.TransactionEvent
+import com.example.bondoman.ui.cart.TransactionEvent
 import kotlinx.coroutines.CoroutineScope
 import kotlinx.coroutines.Dispatchers
 import kotlinx.coroutines.launch
diff --git a/app/src/main/java/com/example/bondoman/ui/settings/SettingsEvent.kt b/app/src/main/java/com/example/bondoman/ui/settings/SettingsEvent.kt
index 346b5b69e7d7fadb564593d29ac85e09c2d36dca..17f864a41d8accf474cc9c98b75c53b5c519abe4 100644
--- a/app/src/main/java/com/example/bondoman/ui/settings/SettingsEvent.kt
+++ b/app/src/main/java/com/example/bondoman/ui/settings/SettingsEvent.kt
@@ -2,4 +2,5 @@ package com.example.bondoman.ui.settings
 
 sealed interface SettingsEvent {
     data class SetFileType(val fileType: ExcelExtension): SettingsEvent
+    data class SetBroadcastStatus(val broadcastStatus: Boolean): SettingsEvent
 }
\ No newline at end of file
diff --git a/app/src/main/java/com/example/bondoman/ui/settings/SettingsFragment.kt b/app/src/main/java/com/example/bondoman/ui/settings/SettingsFragment.kt
index 1aa503e86a3714f7cd652e629469f4c3050e428d..2d1688903eb7aa26276125b0309426f477e58ded 100644
--- a/app/src/main/java/com/example/bondoman/ui/settings/SettingsFragment.kt
+++ b/app/src/main/java/com/example/bondoman/ui/settings/SettingsFragment.kt
@@ -1,6 +1,7 @@
 package com.example.bondoman.ui.settings
 
 import android.Manifest
+import android.annotation.SuppressLint
 import android.content.Context
 import android.content.Context.STORAGE_SERVICE
 import android.content.Intent
@@ -51,6 +52,7 @@ class SettingsFragment : Fragment() {
     private lateinit var logoutButton: Button
     private lateinit var xlsxButton: CheckBox
     private lateinit var xlsButton: CheckBox
+    private lateinit var broadcastButton : Button
 
 
 
@@ -67,6 +69,7 @@ class SettingsFragment : Fragment() {
         return inflater.inflate(R.layout.fragment_settings, container, false)
     }
 
+    @SuppressLint("ResourceAsColor")
     override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
         super.onViewCreated(view, savedInstanceState)
 
@@ -77,11 +80,17 @@ class SettingsFragment : Fragment() {
         logoutButton = binding.settingsLogoutButton
         xlsxButton = binding.SettingsXlsxCheckbox
         xlsButton = binding.SettingsXlsCheckbox
+        broadcastButton = binding.settingBroadcastButton
 
         CoroutineScope(Dispatchers.Main).launch {
             settingsViewModel.state.collect{ state ->
                 xlsxButton.isChecked = state.fileType == ExcelExtension.XLSX
                 xlsButton.isChecked = state.fileType == ExcelExtension.XLS
+                if(state.isBroadcastOn){
+                    broadcastButton.setText(R.string.settings_broadcast_button_on_title)
+                } else {
+                    broadcastButton.setText(R.string.settings_broadcast_button_off_title)
+                }
             }
         }
 
@@ -110,6 +119,12 @@ class SettingsFragment : Fragment() {
                 xlsxButton.isChecked = false
             }
         }
+        broadcastButton.setOnClickListener {
+            settingsViewModel._onEvent(SettingsEvent.SetBroadcastStatus(!settingsViewModel.state.value.isBroadcastOn))
+            val intent = Intent()
+            intent.setAction("IDUPIN_RANZOMIZER_TRANSAKSI")
+            requireActivity().sendBroadcast(intent)
+        }
 
     }
 
diff --git a/app/src/main/java/com/example/bondoman/ui/settings/SettingsState.kt b/app/src/main/java/com/example/bondoman/ui/settings/SettingsState.kt
index e54664fc7ecbe4b395f569ffce96ba2fe94d2d93..748fef3da6dbe3cfdedf55b2b71ce8d6a4819d0d 100644
--- a/app/src/main/java/com/example/bondoman/ui/settings/SettingsState.kt
+++ b/app/src/main/java/com/example/bondoman/ui/settings/SettingsState.kt
@@ -2,4 +2,5 @@ package com.example.bondoman.ui.settings
 
 data class SettingsState(
     val fileType : ExcelExtension = ExcelExtension.XLSX,
+    val isBroadcastOn : Boolean = false
 )
diff --git a/app/src/main/java/com/example/bondoman/ui/settings/SettingsViewModel.kt b/app/src/main/java/com/example/bondoman/ui/settings/SettingsViewModel.kt
index 6c3c7ab5d44e702edc47f32d32143a2412fbd908..c665834fdbac19f8db40bccb85b42e187feb64a3 100644
--- a/app/src/main/java/com/example/bondoman/ui/settings/SettingsViewModel.kt
+++ b/app/src/main/java/com/example/bondoman/ui/settings/SettingsViewModel.kt
@@ -8,7 +8,6 @@ import androidx.lifecycle.ViewModel
 import androidx.lifecycle.viewModelScope
 import androidx.savedstate.SavedStateRegistryOwner
 import com.example.bondoman.room.TransactionDao
-import com.example.bondoman.services.TransactionState
 import kotlinx.coroutines.flow.MutableStateFlow
 import kotlinx.coroutines.flow.SharingStarted
 import kotlinx.coroutines.flow.asStateFlow
@@ -30,6 +29,13 @@ class SettingsViewModel(private val dao: TransactionDao, private val context: Co
                     )
                 }
             }
+            is SettingsEvent.SetBroadcastStatus -> {
+                _state.update {
+                    it.copy(
+                        isBroadcastOn = event.broadcastStatus
+                    )
+                }
+            }
         }
     }
 
diff --git a/app/src/main/res/layout/fragment_add.xml b/app/src/main/res/layout/fragment_add.xml
index ca10141c8e2d0d4fc3b0e7df5999883e6fba1e9c..6b471a960be88aaeceef7144f0f95cc7eb927a9e 100644
--- a/app/src/main/res/layout/fragment_add.xml
+++ b/app/src/main/res/layout/fragment_add.xml
@@ -3,7 +3,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context=".ui.cart.AddFragment">
+    tools:context=".ui.cart.add.AddFragment">
     <LinearLayout
         android:layout_width="match_parent"
         android:layout_height="match_parent"
@@ -13,9 +13,10 @@
         <EditText
             android:id="@+id/judulTransaksiInput"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
-            android:text="Judul Transaksi"
+            android:hint="Judul Transaksi"
+            android:padding="8dp"
         />
 
         <Spinner
@@ -27,17 +28,20 @@
         <EditText
             android:id="@+id/nominalTransaksiInput"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
-            android:text="Nominal"
+            android:hint="Nominal"
+            android:padding="8dp"
         />
 
         <EditText
             android:id="@+id/lokasiInput"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
             android:text="Lokasi"
+            android:hint="Lokasi"
+            android:padding="8dp"
         />
         <Button
             android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/fragment_edit.xml b/app/src/main/res/layout/fragment_edit.xml
index 36be833a23b0be2f1a8c64377527cf7cedf80961..8d1e5fc2b95046e1766b093447654b3d1f4c9273 100644
--- a/app/src/main/res/layout/fragment_edit.xml
+++ b/app/src/main/res/layout/fragment_edit.xml
@@ -3,7 +3,7 @@
     xmlns:tools="http://schemas.android.com/tools"
     android:layout_width="match_parent"
     android:layout_height="match_parent"
-    tools:context=".ui.cart.EditFragment">
+    tools:context=".ui.cart.edit.EditFragment">
 
     <LinearLayout
         android:layout_width="match_parent"
@@ -14,25 +14,29 @@
         <EditText
             android:id="@+id/judulTransaksiInputEdit"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
-            android:text="Judul Transaksi"
+            android:hint="Judul Transaksi"
+            android:padding="10dp"
             />
 
         <EditText
             android:id="@+id/nominalTransaksiInputEdit"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
-            android:text="Nominal"
+            android:hint="Nominal"
+            android:padding="10dp"
             />
 
         <EditText
             android:id="@+id/lokasiInputEdit"
             android:layout_width="276dp"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:background="@drawable/rounded_div"
             android:text="Lokasi"
+            android:hint="Lokasi"
+            android:padding="10dp"
             />
         <Button
             android:layout_width="wrap_content"
diff --git a/app/src/main/res/layout/fragment_login.xml b/app/src/main/res/layout/fragment_login.xml
index 59ea9ec8220a21035f59a68b8e446cdf4a311471..134c9f5740c1b9ac286a3be6af4e20ed1e4221f0 100644
--- a/app/src/main/res/layout/fragment_login.xml
+++ b/app/src/main/res/layout/fragment_login.xml
@@ -13,11 +13,13 @@
     <EditText
         android:id="@+id/passwordInput"
         android:layout_width="276dp"
-        android:layout_height="31dp"
+        android:layout_height="wrap_content"
         android:background="@drawable/rounded_div"
         android:ems="10"
         android:inputType="textPassword"
-        android:text="password_13521086"
+        android:text="password_13521106"
+        android:hint="Password"
+        android:padding="10dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintHorizontal_bias="0.496"
@@ -56,11 +58,13 @@
     <EditText
         android:id="@+id/emailInput"
         android:layout_width="276dp"
-        android:layout_height="31dp"
+        android:layout_height="wrap_content"
         android:background="@drawable/rounded_div"
         android:ems="10"
         android:inputType="textEmailSubject"
-        android:text="13521086@std.stei.itb.ac.id"
+        android:text="13521106@std.stei.itb.ac.id"
+        android:hint="Email"
+        android:padding="10dp"
         app:layout_constraintBottom_toBottomOf="parent"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintHorizontal_bias="0.503"
diff --git a/app/src/main/res/layout/fragment_settings.xml b/app/src/main/res/layout/fragment_settings.xml
index e804de014b2e569e1d6e5ad45944d13f86d113e0..290a1abb37784dab20060a36a0234d49b778a7a4 100644
--- a/app/src/main/res/layout/fragment_settings.xml
+++ b/app/src/main/res/layout/fragment_settings.xml
@@ -67,18 +67,42 @@
 
     </LinearLayout>
 
+    <LinearLayout
+        android:id="@+id/linearLayout2"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:layout_marginTop="11dp"
+        android:gravity="center"
+        android:orientation="vertical"
+        app:layout_constraintTop_toBottomOf="@+id/linearLayout"
+        tools:layout_editor_absoluteX="10dp">
+
+        <TextView
+            android:id="@+id/settingBroadcastTitle"
+            android:layout_width="wrap_content"
+            android:layout_height="wrap_content"
+            android:text="@string/broadcast_status_title" />
+
+        <Button
+            android:id="@+id/settingBroadcastButton"
+            android:layout_width="match_parent"
+            android:layout_height="wrap_content"
+            android:backgroundTint="@color/yellow.700"
+            android:text="@string/settings_broadcast_button_off_title" />
+    </LinearLayout>
+
     <Button
         android:id="@+id/settingsLogoutButton"
         android:layout_width="0dp"
         android:layout_height="wrap_content"
-        android:layout_marginTop="56dp"
+        android:layout_marginTop="98dp"
         android:backgroundTint="@color/red.200"
         android:text="@string/settings_logout_button_title"
         android:textColor="@color/white"
         app:layout_constraintEnd_toEndOf="parent"
         app:layout_constraintHorizontal_bias="0.0"
         app:layout_constraintStart_toStartOf="parent"
-        app:layout_constraintTop_toBottomOf="@+id/linearLayout" />
+        app:layout_constraintTop_toBottomOf="@+id/linearLayout2" />
 
 
 </androidx.constraintlayout.widget.ConstraintLayout>
\ No newline at end of file
diff --git a/app/src/main/res/values/colors.xml b/app/src/main/res/values/colors.xml
index 08f60c953cbf8e9fc908c3bfa5ddcafcb209a42c..2cf20b6b60bea41384fb8dc83d6b5b1119844a3e 100644
--- a/app/src/main/res/values/colors.xml
+++ b/app/src/main/res/values/colors.xml
@@ -2,8 +2,10 @@
 <resources>
     <color name="black">#FF000000</color>
     <color name="white">#FFFFFFFF</color>
+    <color name="green.700">#388E3C</color>
     <color name="green.500">#4CAF50</color>
     <color name="green.200">#A5D6A7</color>
     <color name="red.500">#F44336</color>
     <color name="red.200">#EF9A9A</color>
+    <color name="yellow.700">#FBC02D</color>
 </resources>
\ No newline at end of file
diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml
index 8792f197e94818af8ec0c3dab7175102b22d098a..349a756a6f29855d0caefd901d33fa9027e48542 100644
--- a/app/src/main/res/values/strings.xml
+++ b/app/src/main/res/values/strings.xml
@@ -19,4 +19,7 @@
     <string name="settings_select_extension_title">Select file extension</string>
     <string name="settings_xlsx_checkbox_title">.xlsx</string>
     <string name="settings_xls_checkbox_title">.xls</string>
+    <string name="broadcast_status_title">Broadcast Status</string>
+    <string name="settings_broadcast_button_off_title">Off</string>
+    <string name="settings_broadcast_button_on_title">On</string>
 </resources>
\ No newline at end of file
diff --git a/screenshot/BondoMan.png b/screenshot/BondoMan.png
new file mode 100644
index 0000000000000000000000000000000000000000..ac3e81e314ee8b5897bcaa953130dac7f237091c
Binary files /dev/null and b/screenshot/BondoMan.png differ
diff --git a/screenshot/Grafik.jpg b/screenshot/Grafik.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..7b5a89397712187ffbb7f6a6400166dae3fc6593
Binary files /dev/null and b/screenshot/Grafik.jpg differ
diff --git a/screenshot/Keranjang-Add.jpg b/screenshot/Keranjang-Add.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..06df5852c00a5ebac3d9f59ecae996fd7ebd176a
Binary files /dev/null and b/screenshot/Keranjang-Add.jpg differ
diff --git a/screenshot/Keranjang-Edit Delet.jpg b/screenshot/Keranjang-Edit Delet.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..23581afbf299c085fa3b25b6c6c71c5f3db62d18
Binary files /dev/null and b/screenshot/Keranjang-Edit Delet.jpg differ
diff --git a/screenshot/Keranjang-List.jpg b/screenshot/Keranjang-List.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..b9bce36fce4d15186e294016e5d4a7cadbc52236
Binary files /dev/null and b/screenshot/Keranjang-List.jpg differ
diff --git a/screenshot/Login.jpg b/screenshot/Login.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..5a5b82ab917026bf172e0a9e8a16cfd322136870
Binary files /dev/null and b/screenshot/Login.jpg differ
diff --git a/screenshot/Scan.png b/screenshot/Scan.png
new file mode 100644
index 0000000000000000000000000000000000000000..3855de4f35d71977c5664fc12ee9f1e37e820b52
Binary files /dev/null and b/screenshot/Scan.png differ
diff --git a/screenshot/Setting.jpg b/screenshot/Setting.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..10ee85bf2ef2a5e700ff6a36e0650edd77ce0e73
Binary files /dev/null and b/screenshot/Setting.jpg differ
diff --git a/screenshot/SplashScreen.jpg b/screenshot/SplashScreen.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..650b2209244c31276a83eb17ca97b2778c00d866
Binary files /dev/null and b/screenshot/SplashScreen.jpg differ
diff --git a/screenshot/Twibbon.jpg b/screenshot/Twibbon.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..1d720e893558aac720125ae49e76b9c085feab0a
Binary files /dev/null and b/screenshot/Twibbon.jpg differ