Index: frontend/src/App.js
===================================================================
--- frontend/src/App.js	(revision e9b4ba920295b1b329df3313a9e80743d23804ee)
+++ frontend/src/App.js	(revision ac19a0cf7321de5f2be8991b7fc81fc71fe07f6c)
@@ -5,5 +5,5 @@
 import 'bootstrap/dist/js/bootstrap.js';
 import HomeCarousel from './Components/Layout/CarouselHome/Carousel';
-import { Card, Container } from 'react-bootstrap';
+import {Card, Container} from 'react-bootstrap';
 import TabComponent from './Components/Tab/Tab';
 import Offers from './Components/Layout/Offers/Offers';
@@ -27,35 +27,51 @@
 import TransportEditPage from './Pages/TransportEditPage';
 import RestaurantDetailsPage from './Pages/RestaurantDetailsPage';
-import { BrowserRouter, Route, Routes } from 'react-router-dom';
+import {BrowserRouter, Route, Routes} from 'react-router-dom';
 import LoginErrorPage from "./Pages/LoginErrorPage";
+import {AuthProvider} from "./Components/Context/AuthContext";
+import PrivateRoute from "./Components/Misc/PrivateRoute";
+import ProfilesManagementPage from "./Pages/ProfilesManagementPage";
+import UserReservationsManagement from "./Pages/UserReservationsManagement";
 
 
 function App() {
 
-  return (
-    <div className="App" style={{overflow: 'hidden'}}>
-      <BrowserRouter>
-        <Routes>
-          <Route path='/login' element={<LoginPage/>}/>
-          <Route path='/register' element={<RegistrationPage/>}/>
-          <Route path='/profile' element={<ProfilePage/>}/>
-          <Route path="/resources" exact element={<NoBusinessRegisteredError hasRegistration="false"/>} />
-          <Route path="/resources/hotel" element={<ResourcesPage tab="/hotel"/>}/>
-          <Route path="/resources/hotel/:hotelId" element={<HotelEditPage />}/>
-          <Route path="/resources/restaurant" element={<ResourcesPage tab="/restaurant"/>}/>
-          <Route path='/resources/restaurant/:restaurantId' element={<RestaurantEditPage />}/>
-          <Route path="/resources/transport" element={<ResourcesPage tab="/transport"/>}/>
-          <Route path="/resources/transport/:transportId" element={<TransportEditPage/>}/>
-          <Route path="/home" element={<HomePage/> }/>
-          <Route path="/error" element={<LoginErrorPage/> }/>
-          <Route path='/details/transport' element={<TransportDetailsPage></TransportDetailsPage>}/>
-          <Route path='/details/hotel' element={<HotelDetailsPage></HotelDetailsPage>}/>
-          <Route path='/details/restaurant' element={<RestaurantDetailsPage></RestaurantDetailsPage>}/>
-          <Route path="/search/hotel/:hotelLocation/:dateFrom/:dateTo/:numBeds" element={<SearchPage type="hotel"/> }/>
-          <Route path="/search/transport/:from/:to/:date" element={<SearchPage type="transport"/> }/>
-        </Routes>
-      </BrowserRouter>
-    </div>
-  );
+    return (
+        <div className="App" style={{overflow: 'hidden'}}>
+            <AuthProvider>
+                <BrowserRouter>
+                    <Routes>
+                        <Route path='/login' element={<LoginPage/>}/>
+                        <Route path='/register' element={<RegistrationPage/>}/>
+                        <Route path='/profile' element={<PrivateRoute><ProfilePage/></PrivateRoute>}/>
+                        <Route path='/profiles' element={<PrivateRoute><ProfilesManagementPage/></PrivateRoute>}/>
+                        <Route path='/reservations' element={<PrivateRoute><UserReservationsManagement/></PrivateRoute>}/>
+                        <Route path="/resources" exact element={<PrivateRoute><NoBusinessRegisteredError
+                            hasRegistration="false"/></PrivateRoute>}/>
+                        <Route path="/resources/hotel"
+                               element={<PrivateRoute><ResourcesPage tab="/hotel"/></PrivateRoute>}/>
+                        <Route path="/resources/hotel/:hotelId" element={<PrivateRoute><HotelEditPage/></PrivateRoute>}/>
+                        <Route path="/resources/restaurant"
+                               element={<PrivateRoute><ResourcesPage tab="/restaurant"/></PrivateRoute>}/>
+                        <Route path='/resources/restaurant/:restaurantId'
+                               element={<PrivateRoute><RestaurantEditPage/></PrivateRoute>}/>
+                        <Route path="/resources/transport"
+                               element={<PrivateRoute><ResourcesPage tab="/transport"/></PrivateRoute>}/>
+                        <Route path="/resources/transport/:transportId"
+                               element={<PrivateRoute><TransportEditPage/></PrivateRoute>}/>
+                        <Route path="/home" element={<HomePage/>}/>
+                        <Route path="/error" element={<LoginErrorPage/>}/>
+                        <Route path='/details/transport' element={<TransportDetailsPage></TransportDetailsPage>}/>
+                        <Route path='/details/hotel' element={<HotelDetailsPage></HotelDetailsPage>}/>
+                        <Route path='/details/restaurant' element={<RestaurantDetailsPage></RestaurantDetailsPage>}/>
+                        <Route path="/search/hotel/:hotelLocation/:dateFrom/:dateTo/:numBeds"
+                               element={<SearchPage type="hotel"/>}/>
+                        <Route path="/search/transport/:from/:to/:date/:numPassengers"
+                               element={<SearchPage type="transport"/>}/>
+                    </Routes>
+                </BrowserRouter>
+            </AuthProvider>
+        </div>
+    );
 }
 
