diff --git a/src/routes/blog/post/react-protected-routes/+page.markdoc b/src/routes/blog/post/react-protected-routes/+page.markdoc
new file mode 100644
index 0000000000..64d7ba5401
--- /dev/null
+++ b/src/routes/blog/post/react-protected-routes/+page.markdoc
@@ -0,0 +1,79 @@
+---
+layout: post
+title: Setting up protected routes in React
+description: Learn how to set up protected routes in React in this easy tutorial.
+date: 2024-10-02
+cover: /images/blog/react-protected-routes/cover.png
+timeToRead: 4
+author: dennis-ivy
+category: tutorial
+featured: false
+---
+In this tutorial, we will explore a straightforward method for implementing protected routes in a React application. The aim is to ensure that users can only access certain pages, such as home and profile, after passing an authentication check. If a user is not authenticated, they will be redirected to the login page.
+
+# React protected routes
+
+To accomplish this, we will create a component called `ProtectedRoutes` that wraps around any routes that need protection. This setup allows us to run an authentication check before rendering these pages. Here are the steps.
+
+## Creating the component
+
+First, create a new file named `ProtectedRoutes.jsx`. In this file, you will import `Outlet` and `Navigate` from React Router Dom. `Outlet` allows for rendering nested routes, while `Navigate` will be used to redirect our users if they are not authenticated.
+
+Below is a basic structure for the `ProtectedRoutes` component:
+
+```jsx
+
+import { Outlet, navigate } from 'react-router-dom';
+
+const ProtectedRoutes = () => {
+ const user = null; // Simulate an unauthenticated user
+ return user ? : // Redirect to login if not authenticated
+
+export default ProtectedRoutes;
+
+```
+
+## Integrating the component into your app
+
+With the `ProtectedRoutes` component created, the next step is to wrap the routes we want to protect. We can nest all child routes by using the standard `` component and by passing in `` as the element into the parent route.
+
+```jsx
+//App.jsx
+...
+import { BrowserRouter as Router, Routes, Route } from 'react-router-dom';
+import ProtectedRoutes from './utils/ProtectedRoutes';
+
+function App(){
+ return
+
+
+ } path="/login"'/>
+
+ {/* 👇 Wrap your protected routes */}
+ }>
+ <Route element={} path="/"/>
+ <Route element= {} path="/profile"/>
+
+
+
+
+}
+
+```
+
+## Understanding the flow
+
+When a user attempts to access `/home` or `/profile`, the `ProtectedRoutes` component checks if a user is authenticated. If the user exists, the corresponding component uses `Outlet` to allow routing to continue down to the nested routes. If not, the user is redirected to the login page.
+
+# Testing your setup
+
+After completing the setup, it’s important to test the application. Try navigating to the protected routes. If authentication has not been established, you should be redirected to the login page.
+
+# Conclusion
+
+In summary, you have implemented protected routes in your React application. By creating a dedicated component to manage authentication checks, you can ensure that only authorized users gain access to specific pages. This method provides a clear and efficient way to handle route protection in your application. Check out some more React resources below:
+
+- [Protected routes in React video tutorial](https://www.youtube.com/watch?v=pyfwQUc5Ssk)
+- [React quick start with Appwrite](https://appwrite.io/docs/quick-starts/react-native)
+- [Set up Google auth in React](https://appwrite.io/blog/post/set-up-google-auth-appwrite-react)
+- [Build a cross-platform application in React Native](https://appwrite.io/blog/post/building-cross-platform-applications-with-react-native)
\ No newline at end of file
diff --git a/static/images/blog/react-protected-routes/cover.png b/static/images/blog/react-protected-routes/cover.png
new file mode 100644
index 0000000000..ecc2dbb3e9
Binary files /dev/null and b/static/images/blog/react-protected-routes/cover.png differ