diff --git a/.gitignore b/.gitignore
index 483a9c42c3c288cca80f49be1a584f507977fc4c..93b93607e1e5f8e5092ef8aedd443125d96ab294 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
-package-lock.json
\ No newline at end of file
+package-lock.json
+engine
\ No newline at end of file
diff --git a/requirements.txt b/requirements.txt
new file mode 100644
index 0000000000000000000000000000000000000000..fe83e85720f78c1c4c2eb6768f20bff8ad5b251a
--- /dev/null
+++ b/requirements.txt
@@ -0,0 +1,8 @@
+click==8.1.3
+Flask==2.2.3
+importlib-metadata==6.1.0
+itsdangerous==2.1.2
+Jinja2==3.1.2
+MarkupSafe==2.1.2
+Werkzeug==2.2.3
+zipp==3.15.0
diff --git a/search-engine/package.json b/search-engine/package.json
index 028cc0fa57ff5265bc20cd6d3029f01dd4ab550c..6ef2d100b2f170969e678042615e3f9c4832f78f 100644
--- a/search-engine/package.json
+++ b/search-engine/package.json
@@ -2,15 +2,6 @@
   "name": "search-engine",
   "version": "0.1.0",
   "private": true,
-  "dependencies": {
-    "@testing-library/jest-dom": "^5.16.5",
-    "@testing-library/react": "^13.4.0",
-    "@testing-library/user-event": "^13.5.0",
-    "react": "^18.2.0",
-    "react-dom": "^18.2.0",
-    "react-scripts": "5.0.1",
-    "web-vitals": "^2.1.4"
-  },
   "scripts": {
     "start": "react-scripts start",
     "build": "react-scripts build",
@@ -34,5 +25,19 @@
       "last 1 firefox version",
       "last 1 safari version"
     ]
+  },
+  "devDependencies": {
+    "@testing-library/jest-dom": "^5.16.5",
+    "@testing-library/react": "^14.0.0",
+    "@testing-library/user-event": "^14.4.3",
+    "axios": "^1.3.4",
+    "bootstrap": "^5.2.3",
+    "devextreme": "^22.2.4",
+    "react": "^18.2.0",
+    "react-bootstrap": "^2.7.2",
+    "react-dom": "^18.2.0",
+    "react-router-dom": "^6.9.0",
+    "react-scripts": "^5.0.1",
+    "web-vitals": "^3.3.0"
   }
 }
diff --git a/search-engine/src/component/search.js b/search-engine/src/component/search.js
new file mode 100644
index 0000000000000000000000000000000000000000..f662213f1663ef284963afceb4a0589a21e2e05d
--- /dev/null
+++ b/search-engine/src/component/search.js
@@ -0,0 +1,14 @@
+
+
+
+let SearchEngine = function () {
+
+
+    return (
+        <div>
+            Hello World
+        </div>
+    )
+}
+
+export default SearchEngine;
diff --git a/search-engine/src/index.js b/search-engine/src/index.js
index d563c0fb10ba0e42724b21286eb546ee4e5734fc..ff00a93be7d2a4b914b3c2671448cf01e3c47209 100644
--- a/search-engine/src/index.js
+++ b/search-engine/src/index.js
@@ -1,17 +1,32 @@
-import React from 'react';
-import ReactDOM from 'react-dom/client';
-import './index.css';
-import App from './App';
-import reportWebVitals from './reportWebVitals';
+import React from "react";
+import ReactDOM from "react-dom/client";
+//import "./index.css";
+
+import { createBrowserRouter, RouterProvider } from "react-router-dom";
+import { Layout } from "./Layout";
+import SearchEngine from "./component/search";
+
 
-const root = ReactDOM.createRoot(document.getElementById('root'));
-root.render(
-  <React.StrictMode>
-    <App />
-  </React.StrictMode>
-);
 
-// If you want to start measuring performance in your app, pass a function
-// to log results (for example: reportWebVitals(console.log))
-// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals
-reportWebVitals();
+let router = createBrowserRouter([
+    {
+        element: <Layout />,
+        children: [
+            {
+                path: "/",
+                element: <SearchEngine />,
+            },
+            {
+                path: "*",
+                element: <p>Page not found</p>,
+            },
+        ],
+    },
+]);
+
+let root = ReactDOM.createRoot(document.getElementById("root"));
+root.render(
+    <React.StrictMode>
+        <RouterProvider router={router} />
+    </React.StrictMode>
+);
\ No newline at end of file
diff --git a/search-engine/src/layout.js b/search-engine/src/layout.js
new file mode 100644
index 0000000000000000000000000000000000000000..53233c0a393249c6d2137c3bd1939e81ed819678
--- /dev/null
+++ b/search-engine/src/layout.js
@@ -0,0 +1,39 @@
+
+
+import { Outlet } from "react-router-dom";
+import Container from 'react-bootstrap/Container';
+import Nav from 'react-bootstrap/Nav';
+import Navbar from 'react-bootstrap/Navbar';
+import 'bootstrap/dist/css/bootstrap.min.css';
+
+
+let Header = function () {
+
+
+    return (
+        <>
+            <Navbar bg="light" expand="lg">
+            <Container>
+            <Navbar.Brand href="/">Search Engine</Navbar.Brand>
+            <Navbar.Toggle aria-controls="basic-navbar-nav" />
+            <Navbar.Collapse id="basic-navbar-nav">
+                <Nav className="me-auto">
+                <Nav.Link href="/search">Search</Nav.Link>
+                </Nav>
+            </Navbar.Collapse>
+            </Container>
+            </Navbar>
+        </>
+    );
+};
+
+export let Layout = function () {
+    return (
+        <>
+            <Header />
+            <main>
+                <Outlet />
+            </main>
+        </>
+    );
+};
\ No newline at end of file
diff --git a/server.py b/server.py
new file mode 100644
index 0000000000000000000000000000000000000000..e85b5b9a29c8a1c55701c7bde94843e402270636
--- /dev/null
+++ b/server.py
@@ -0,0 +1,20 @@
+
+from flask import Flask, render_template, request,  send_from_directory
+import logging
+from logging import Formatter, FileHandler
+import os
+
+
+app = Flask(__name__, static_url_path='', static_folder='search-engine/build')
+
+
+@app.route("/", defaults={'path':''})
+def serve(path):
+    return send_from_directory(app.static_folder,'index.html')
+
+
+
+# Or specify port manually:
+if __name__ == '__main__':
+    port = int(os.environ.get('PORT', 5099))
+    app.run(host='localhost', port=5099)