{"id":12387,"date":"2023-09-25T19:07:51","date_gmt":"2023-09-25T17:07:51","guid":{"rendered":"https:\/\/imaginario27.com\/?post_type=project&#038;p=12387"},"modified":"2024-04-21T17:08:22","modified_gmt":"2024-04-21T15:08:22","slug":"vanlife-a-react-router-app-with-protected-routes","status":"publish","type":"project","link":"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/","title":{"rendered":"Vanlife &#8211; A react router app with protected routes"},"content":{"rendered":"<p dir=\"auto\">Vanlife is a sample React web application that demonstrates the use of React Router and protected routes. This project serves as a starting point for building web applications with authentication and routing capabilities. In this app, we have implemented a basic structure with several key pages and features:<\/p>\n<ul dir=\"auto\">\n<li>Home Page<\/li>\n<li>Host Page (Protected Route) + Some protected subpages<\/li>\n<li>About Page<\/li>\n<li>Van List Page<\/li>\n<li>Van Detail Page<\/li>\n<\/ul>\n<p dir=\"auto\">Additionally, Vanlife includes a fake login mechanism to test the protected host route.<\/p>\n<h2>Features<\/h2>\n<h3 id=\"user-content-1-home-page\" dir=\"auto\" tabindex=\"-1\">1. Home Page<\/h3>\n<p dir=\"auto\">The Home Page provides an introduction to the Vanlife app and its purpose.<\/p>\n<h3 id=\"user-content-2-host-page-protected-route\" dir=\"auto\" tabindex=\"-1\">2. Host Page (Protected Route)<\/h3>\n<ul dir=\"auto\">\n<li>The Host Page is a protected route that requires authentication. Users must log in to access this page. You can use the fake login mechanism provided in the app to test this feature.<\/li>\n<li>Inside the host page there are some subpages such as dashboard, incomes, hosts vans and reviews.<\/li>\n<\/ul>\n<h3 id=\"user-content-3-about-page\" dir=\"auto\" tabindex=\"-1\">3. About Page<\/h3>\n<p dir=\"auto\">The About Page offers information about the app&#8217;s creators and its mission.<\/p>\n<h3 id=\"user-content-4-van-list-page\" dir=\"auto\" tabindex=\"-1\">4. Van List Page<\/h3>\n<p dir=\"auto\">The Van List Page displays a list of available vans. Users can click on a van to view more details.<\/p>\n<h3 id=\"user-content-5-van-detail-page\" dir=\"auto\" tabindex=\"-1\">5. Van Detail Page<\/h3>\n<p dir=\"auto\">The van detail page provides in-depth information about a selected van.<\/p>\n<h2>Some screenshots<\/h2>\n<div id=\"jig1\" class=\"justified-image-grid jig-545afdfa57a0e423b8ab6b040af4379c jig-preset-global jig-source-wp-gallery\"><div class=\"jig-clearfix\"><\/div><noscript id=\"jig1-html\" class=\"justified-image-grid-html\" data-lazy-src=\"skiplazyload\" data-src=\"skipunveillazyload\"><ul><li><a href=\"https:\/\/imaginario27.com\/wp-content\/uploads\/2023\/09\/vanlife-home.jpg\"><img decoding=\"async\" src=\"https:\/\/imaginario27.com\/wp-content\/plugins\/justified-image-grid\/timthumb.php?src=https%3A%2F%2Fimaginario27.com%2Fwp-content%2Fuploads%2F2023%2F09%2Fvanlife-home-1024x716.jpg&amp;h=440&amp;q=90&amp;f=.webp\" alt=\"Vanlife - Home\" width=\"629\" height=\"440\" \/><\/a><p class=\"jig-HTMLdescription\">Vanlife - Home<\/p><\/li><li><a href=\"https:\/\/imaginario27.com\/wp-content\/uploads\/2023\/09\/vanlife-host-dashboard.jpg\"><img decoding=\"async\" src=\"https:\/\/imaginario27.com\/wp-content\/plugins\/justified-image-grid\/timthumb.php?src=https%3A%2F%2Fimaginario27.com%2Fwp-content%2Fuploads%2F2023%2F09%2Fvanlife-host-dashboard-1024x889.jpg&amp;h=440&amp;q=90&amp;f=.webp\" alt=\"Vanlife - Host dashboard\" width=\"506\" height=\"440\" \/><\/a><p class=\"jig-HTMLdescription\">Vanlife - Host dashboard<\/p><\/li><li><a href=\"https:\/\/imaginario27.com\/wp-content\/uploads\/2023\/09\/vanlife-vans.jpg\"><img decoding=\"async\" src=\"https:\/\/imaginario27.com\/wp-content\/plugins\/justified-image-grid\/timthumb.php?src=https%3A%2F%2Fimaginario27.com%2Fwp-content%2Fuploads%2F2023%2F09%2Fvanlife-vans-752x1024.jpg&amp;h=440&amp;q=90&amp;f=.webp\" alt=\"Vanlife - Vans\" width=\"323\" height=\"440\" \/><\/a><p class=\"jig-HTMLdescription\">Vanlife - Vans<\/p><\/li><li><a href=\"https:\/\/imaginario27.com\/wp-content\/uploads\/2023\/09\/vanlife-about.jpg\"><img decoding=\"async\" src=\"https:\/\/imaginario27.com\/wp-content\/plugins\/justified-image-grid\/timthumb.php?src=https%3A%2F%2Fimaginario27.com%2Fwp-content%2Fuploads%2F2023%2F09%2Fvanlife-about-774x1024.jpg&amp;h=440&amp;q=90&amp;f=.webp\" alt=\"Vanlife - About\" width=\"332\" height=\"440\" \/><\/a><p class=\"jig-HTMLdescription\">Vanlife - About<\/p><\/li><\/ul><\/noscript><\/div>\n<h2>Demo<\/h2>\n<p>Visit the\u00a0<a href=\"https:\/\/scrimba-vanlife-img27.netlify.app\/\" target=\"_blank\" rel=\"nofollow noopener\">app page<\/a>\u00a0to see how it works.<\/p>\n<h2>Repository<\/h2>\n<p>Discover the proyect on GitHub by clicking <a href=\"https:\/\/github.com\/Imaginario27\/scrimba-vanlife\/\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Vanlife is a sample React web application that demonstrates the use of React Router and protected routes. This project serves as a starting point for building web applications with authentication and routing capabilities. In this app, we have implemented a basic structure with several key pages and features: Home Page Host Page (Protected Route) + [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":12389,"comment_status":"open","ping_status":"closed","template":"","meta":{"_et_pb_use_builder":"","_et_pb_old_content":"","_et_gb_content_width":"","footnotes":""},"project_category":[114],"project_tag":[286],"class_list":["post-12387","project","type-project","status-publish","has-post-thumbnail","hentry","project_category-front-end-web-development","project_tag-web-applications","clientes-imaginario27","formatos-horizontal-format","tecnologias-api-rest-en","tecnologias-css-en","tecnologias-firebase-en","tecnologias-html-en","tecnologias-javascript-en","tecnologias-react-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Vanlife - A react router app with protected routes - Imaginario27<\/title>\n<meta name=\"description\" content=\"Vanlife is a sample React web application that demonstrates the use of React Router and protected routes using a fake login mechanism.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Vanlife - A react router app with protected routes - Imaginario27\" \/>\n<meta property=\"og:description\" content=\"Vanlife is a sample React web application that demonstrates the use of React Router and protected routes using a fake login mechanism.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/\" \/>\n<meta property=\"og:site_name\" content=\"Imaginario27\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-21T15:08:22+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/imaginario27.com\/wp-content\/uploads\/2023\/09\/vanlife-home.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1600\" \/>\n\t<meta property=\"og:image:height\" content=\"1118\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/projects\\\/vanlife-a-react-router-app-with-protected-routes\\\/\",\"url\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/projects\\\/vanlife-a-react-router-app-with-protected-routes\\\/\",\"name\":\"Vanlife - A react router app with protected routes - Imaginario27\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/projects\\\/vanlife-a-react-router-app-with-protected-routes\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/projects\\\/vanlife-a-react-router-app-with-protected-routes\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/imaginario27.com\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/vanlife-home.jpg\",\"datePublished\":\"2023-09-25T17:07:51+00:00\",\"dateModified\":\"2024-04-21T15:08:22+00:00\",\"description\":\"Vanlife is a sample React web application that demonstrates the use of React Router and protected routes using a fake login mechanism.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/projects\\\/vanlife-a-react-router-app-with-protected-routes\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/imaginario27.com\\\/en\\\/projects\\\/vanlife-a-react-router-app-with-protected-routes\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/projects\\\/vanlife-a-react-router-app-with-protected-routes\\\/#primaryimage\",\"url\":\"https:\\\/\\\/imaginario27.com\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/vanlife-home.jpg\",\"contentUrl\":\"https:\\\/\\\/imaginario27.com\\\/wp-content\\\/uploads\\\/2023\\\/09\\\/vanlife-home.jpg\",\"width\":1600,\"height\":1118,\"caption\":\"Vanlife - Home\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/projects\\\/vanlife-a-react-router-app-with-protected-routes\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Projects\",\"item\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/projects\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Vanlife &#8211; A react router app with protected routes\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/\",\"name\":\"Imaginario27\",\"description\":\"Porfolio de trabajos creativos\",\"publisher\":{\"@id\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/#\\\/schema\\\/person\\\/772d8c794bad977a3d9ad0dcc0b9a3d5\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\\\/\\\/imaginario27.com\\\/en\\\/#\\\/schema\\\/person\\\/772d8c794bad977a3d9ad0dcc0b9a3d5\",\"name\":\"Imaginario27\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/imaginario27.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/imaginario27-imagotipo.png\",\"url\":\"https:\\\/\\\/imaginario27.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/imaginario27-imagotipo.png\",\"contentUrl\":\"https:\\\/\\\/imaginario27.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/imaginario27-imagotipo.png\",\"width\":1000,\"height\":1000,\"caption\":\"Imaginario27\"},\"logo\":{\"@id\":\"https:\\\/\\\/imaginario27.com\\\/wp-content\\\/uploads\\\/2020\\\/05\\\/imaginario27-imagotipo.png\"},\"sameAs\":[\"https:\\\/\\\/imaginario27.com\\\/\",\"https:\\\/\\\/www.instagram.com\\\/imaginario27\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Vanlife - A react router app with protected routes - Imaginario27","description":"Vanlife is a sample React web application that demonstrates the use of React Router and protected routes using a fake login mechanism.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/","og_locale":"en_US","og_type":"article","og_title":"Vanlife - A react router app with protected routes - Imaginario27","og_description":"Vanlife is a sample React web application that demonstrates the use of React Router and protected routes using a fake login mechanism.","og_url":"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/","og_site_name":"Imaginario27","article_modified_time":"2024-04-21T15:08:22+00:00","og_image":[{"width":1600,"height":1118,"url":"https:\/\/imaginario27.com\/wp-content\/uploads\/2023\/09\/vanlife-home.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/","url":"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/","name":"Vanlife - A react router app with protected routes - Imaginario27","isPartOf":{"@id":"https:\/\/imaginario27.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/#primaryimage"},"image":{"@id":"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/#primaryimage"},"thumbnailUrl":"https:\/\/imaginario27.com\/wp-content\/uploads\/2023\/09\/vanlife-home.jpg","datePublished":"2023-09-25T17:07:51+00:00","dateModified":"2024-04-21T15:08:22+00:00","description":"Vanlife is a sample React web application that demonstrates the use of React Router and protected routes using a fake login mechanism.","breadcrumb":{"@id":"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/#primaryimage","url":"https:\/\/imaginario27.com\/wp-content\/uploads\/2023\/09\/vanlife-home.jpg","contentUrl":"https:\/\/imaginario27.com\/wp-content\/uploads\/2023\/09\/vanlife-home.jpg","width":1600,"height":1118,"caption":"Vanlife - Home"},{"@type":"BreadcrumbList","@id":"https:\/\/imaginario27.com\/en\/projects\/vanlife-a-react-router-app-with-protected-routes\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/imaginario27.com\/en\/"},{"@type":"ListItem","position":2,"name":"Projects","item":"https:\/\/imaginario27.com\/en\/projects\/"},{"@type":"ListItem","position":3,"name":"Vanlife &#8211; A react router app with protected routes"}]},{"@type":"WebSite","@id":"https:\/\/imaginario27.com\/en\/#website","url":"https:\/\/imaginario27.com\/en\/","name":"Imaginario27","description":"Porfolio de trabajos creativos","publisher":{"@id":"https:\/\/imaginario27.com\/en\/#\/schema\/person\/772d8c794bad977a3d9ad0dcc0b9a3d5"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/imaginario27.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":["Person","Organization"],"@id":"https:\/\/imaginario27.com\/en\/#\/schema\/person\/772d8c794bad977a3d9ad0dcc0b9a3d5","name":"Imaginario27","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/imaginario27.com\/wp-content\/uploads\/2020\/05\/imaginario27-imagotipo.png","url":"https:\/\/imaginario27.com\/wp-content\/uploads\/2020\/05\/imaginario27-imagotipo.png","contentUrl":"https:\/\/imaginario27.com\/wp-content\/uploads\/2020\/05\/imaginario27-imagotipo.png","width":1000,"height":1000,"caption":"Imaginario27"},"logo":{"@id":"https:\/\/imaginario27.com\/wp-content\/uploads\/2020\/05\/imaginario27-imagotipo.png"},"sameAs":["https:\/\/imaginario27.com\/","https:\/\/www.instagram.com\/imaginario27\/"]}]}},"_links":{"self":[{"href":"https:\/\/imaginario27.com\/en\/wp-json\/wp\/v2\/project\/12387","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/imaginario27.com\/en\/wp-json\/wp\/v2\/project"}],"about":[{"href":"https:\/\/imaginario27.com\/en\/wp-json\/wp\/v2\/types\/project"}],"author":[{"embeddable":true,"href":"https:\/\/imaginario27.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/imaginario27.com\/en\/wp-json\/wp\/v2\/comments?post=12387"}],"version-history":[{"count":0,"href":"https:\/\/imaginario27.com\/en\/wp-json\/wp\/v2\/project\/12387\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/imaginario27.com\/en\/wp-json\/wp\/v2\/media\/12389"}],"wp:attachment":[{"href":"https:\/\/imaginario27.com\/en\/wp-json\/wp\/v2\/media?parent=12387"}],"wp:term":[{"taxonomy":"project_category","embeddable":true,"href":"https:\/\/imaginario27.com\/en\/wp-json\/wp\/v2\/project_category?post=12387"},{"taxonomy":"project_tag","embeddable":true,"href":"https:\/\/imaginario27.com\/en\/wp-json\/wp\/v2\/project_tag?post=12387"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}