diff --git a/app/Resources/views/base.html.twig b/app/Resources/views/base.html.twig
index 491df83..afe7f4f 100644
--- a/app/Resources/views/base.html.twig
+++ b/app/Resources/views/base.html.twig
@@ -4,7 +4,19 @@
{% block body %}
{% block page %}
@@ -45,4 +57,24 @@
{% endblock %}
+{% endblock %}
+
+{% block javascripts %}
+ {{ parent() }}
+
+
{% endblock %}
\ No newline at end of file
diff --git a/app/Resources/views/rebrickable/part/index.html.twig b/app/Resources/views/rebrickable/part/index.html.twig
deleted file mode 100644
index 9b5a206..0000000
--- a/app/Resources/views/rebrickable/part/index.html.twig
+++ /dev/null
@@ -1,25 +0,0 @@
-{% extends 'base.html.twig' %}
-
-{% block content %}
-
-
-
- {% for part in parts %}
-
- {% endfor %}
-
-
-
- {{ parts.getTotalItemCount }}
-
- {{ knp_pagination_render(parts) }}
-{% endblock %}
diff --git a/app/Resources/views/search/index.html.twig b/app/Resources/views/search/index.html.twig
new file mode 100644
index 0000000..abc72fc
--- /dev/null
+++ b/app/Resources/views/search/index.html.twig
@@ -0,0 +1,20 @@
+{% extends 'base.html.twig' %}
+
+{% block title %}{% endblock %}
+
+{% block header %}{% endblock %}
+
+{% block content %}
+
+
+ {% for set in sets %}
+
+ {% endfor %}
+
+
+{% endblock %}
\ No newline at end of file
diff --git a/src/AppBundle/Controller/SearchController.php b/src/AppBundle/Controller/SearchController.php
new file mode 100644
index 0000000..f9b3d93
--- /dev/null
+++ b/src/AppBundle/Controller/SearchController.php
@@ -0,0 +1,81 @@
+get('query')));
+
+ $modelsResult = $this->get('repository.ldraw.model')->findByQuery($query);
+ $setsResult = $this->get('repository.rebrickable.set')->findByQuery($query);
+
+ return $this->render('search/index.html.twig', [
+ 'sets' => $setsResult,
+ 'models' => $modelsResult,
+ ]);
+ }
+
+ /**
+ * @Route("/autocomplete", name="search_autocomplete")
+ */
+ public function autocompleteAction(Request $request)
+ {
+ $query = trim(strip_tags($request->get('query')));
+
+ $modelsResult = $this->get('repository.ldraw.model')->findByQuery($query,7);
+
+ $models = [];
+ /** @var Model $model */
+ foreach ($modelsResult as $model) {
+ $models[] = [
+ 'title' => $model->getNumber().' '.$model->getName(),
+ 'url' => $this->generateUrl('model_detail',['number' => $model->getNumber()]),
+ ];
+ }
+
+ $setsResult = $this->get('repository.rebrickable.set')->findByQuery($query,7);
+
+ $sets = [];
+ /** @var Set $set */
+ foreach ($setsResult as $set) {
+ $sets[] = [
+ 'title' => $set->getNumber().' '.$set->getName(),
+ 'url' => $this->generateUrl('set_detail',['number' => $set->getNumber()]),
+ ];
+ }
+
+ $response = new JsonResponse();
+ $response->setData([
+ 'results' => [
+ 'category' => [
+ 'name' => 'Sets',
+ 'results' => $sets,
+ ],
+ 'category1' => [
+ 'name' => 'Models',
+ 'results' => $models,
+ ]
+ ]
+ ]);
+
+
+ return $response;
+ }
+}
\ No newline at end of file