diff --git a/src/Actions/UniqElementsAction.php b/src/Actions/UniqElementsAction.php
new file mode 100644
index 0000000000000000000000000000000000000000..3aa0e139f1779dcbe693c239f8b58a5ef0f3845d
--- /dev/null
+++ b/src/Actions/UniqElementsAction.php
@@ -0,0 +1,16 @@
+<?php
+
+namespace App\Actions;
+
+class UniqElementsAction
+{
+    /**
+     * Удаляет дубликаты, оставив только уникальные значения
+     * @param array $array
+     * @return array
+     */
+    public static function act(array $array): array
+    {
+        return array_unique($array, SORT_REGULAR);
+    }
+}
\ No newline at end of file
diff --git a/src/Controller/UniqElementsController.php b/src/Controller/UniqElementsController.php
new file mode 100644
index 0000000000000000000000000000000000000000..442c9d706cd88d708688f9dc1a5ecb3260d812a1
--- /dev/null
+++ b/src/Controller/UniqElementsController.php
@@ -0,0 +1,19 @@
+<?php
+
+namespace App\Controller;
+
+use App\Actions\UniqElementsAction;
+use App\Requests\UniqElementsRequest;
+use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
+use Symfony\Component\HttpFoundation\JsonResponse;
+use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\Routing\Attribute\Route;
+
+class UniqElementsController extends AbstractController
+{
+    #[Route('/uniq/elements', name: 'app_uniq_elements', methods: ['POST'])]
+    public function index(UniqElementsRequest $request, UniqElementsAction $action): Response
+    {
+        return new JsonResponse($action->act($request->serialise()));
+    }
+}
diff --git a/src/Requests/UniqElementsRequest.php b/src/Requests/UniqElementsRequest.php
new file mode 100644
index 0000000000000000000000000000000000000000..111731374bbdde336e946a1623fdb42512fe8939
--- /dev/null
+++ b/src/Requests/UniqElementsRequest.php
@@ -0,0 +1,21 @@
+<?php
+
+namespace App\Requests;
+
+use Symfony\Component\Validator\Constraints\Type;
+use Symfony\Contracts\Service\Attribute\Required;
+
+class UniqElementsRequest extends BaseRequest
+{
+    #[Type('array')]
+    #[Required]
+    public $data;
+
+    /**
+     * @return mixed
+     */
+    public function serialise(): mixed
+    {
+        return $this->data;
+    }
+}
diff --git a/templates/uniq_elements/index.html.twig b/templates/uniq_elements/index.html.twig
new file mode 100644
index 0000000000000000000000000000000000000000..d56494b7519d691246e25955e4d51e8d7523b566
--- /dev/null
+++ b/templates/uniq_elements/index.html.twig
@@ -0,0 +1,20 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}Hello UniqElementsController!{% endblock %}
+
+{% block body %}
+<style>
+    .example-wrapper { margin: 1em auto; max-width: 800px; width: 95%; font: 18px/1.5 sans-serif; }
+    .example-wrapper code { background: #F5F5F5; padding: 2px 6px; }
+</style>
+
+<div class="example-wrapper">
+    <h1>Hello {{ controller_name }}! ✅</h1>
+
+    This friendly message is coming from:
+    <ul>
+        <li>Your controller at <code>/home/tamanit/myProj/iqdevTranningProgram/src/Controller/UniqElementsController.php</code></li>
+        <li>Your template at <code>/home/tamanit/myProj/iqdevTranningProgram/templates/uniq_elements/index.html.twig</code></li>
+    </ul>
+</div>
+{% endblock %}