diff --git a/app/src/main/java/com/futo/circles/feature/people/PeopleFragment.kt b/app/src/main/java/com/futo/circles/feature/people/PeopleFragment.kt
index fa5969c9917a3f7d227e2ca5e3479741e20a745a..26fff02ebac391ce5b1d8ff3c22542a8f5d0cafd 100644
--- a/app/src/main/java/com/futo/circles/feature/people/PeopleFragment.kt
+++ b/app/src/main/java/com/futo/circles/feature/people/PeopleFragment.kt
@@ -1,6 +1,66 @@
 package com.futo.circles.feature.people
 
+import android.os.Bundle
+import android.view.View
 import androidx.fragment.app.Fragment
+import androidx.recyclerview.widget.DividerItemDecoration
+import by.kirich1409.viewbindingdelegate.viewBinding
 import com.futo.circles.R
+import com.futo.circles.databinding.PeopleFragmentBinding
+import com.futo.circles.extensions.observeData
+import com.futo.circles.extensions.showDialog
+import com.futo.circles.feature.people.list.PeopleAdapter
+import com.futo.circles.model.PeopleUserListItem
+import org.koin.androidx.viewmodel.ext.android.viewModel
 
-class PeopleFragment:Fragment(R.layout.people_fragment)
\ No newline at end of file
+class PeopleFragment : Fragment(R.layout.people_fragment) {
+
+    private val viewModel by viewModel<PeopleViewModel>()
+    private val binding by viewBinding(PeopleFragmentBinding::bind)
+
+    private val peopleAdapter by lazy {
+        PeopleAdapter(
+            onUserClicked = { user -> navigateToUserPage(user) },
+            onIgnore = { user, ignore -> handleIgnoreClicked(user, ignore) },
+        )
+    }
+
+    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
+        super.onViewCreated(view, savedInstanceState)
+        setupViews()
+        setupObservers()
+    }
+
+    private fun setupViews() {
+        binding.rvUsers.apply {
+            adapter = peopleAdapter
+            addItemDecoration(DividerItemDecoration(context, DividerItemDecoration.VERTICAL))
+        }
+    }
+
+    private fun setupObservers() {
+        viewModel.peopleLiveData.observeData(this) { items ->
+            peopleAdapter.submitList(items)
+        }
+    }
+
+    private fun navigateToUserPage(user: PeopleUserListItem) {
+
+    }
+
+    private fun handleIgnoreClicked(user: PeopleUserListItem, ignore: Boolean) {
+        if (ignore) showIgnoreConfirmation(user.id)
+        else viewModel.unIgnoreUser(user.id)
+    }
+
+    private fun showIgnoreConfirmation(userId: String) {
+        showDialog(
+            titleResIdRes = R.string.ignore,
+            messageResId = R.string.ignore_user_message,
+            positiveButtonRes = R.string.ignore,
+            negativeButtonVisible = true,
+            positiveAction = { viewModel.ignoreUser(userId) }
+        )
+    }
+
+}
\ No newline at end of file