Index: frontend/src/App.tsx
===================================================================
--- frontend/src/App.tsx	(revision 15ec67f0faa204c0c5d0e1f4d4979ee8ff4fcd4a)
+++ frontend/src/App.tsx	(revision 0c86e77a055e354a71be0ff7c053051ca180993b)
@@ -1,19 +1,41 @@
-import { useEffect } from "react";
+import { createBrowserRouter, Outlet, RouterProvider } from "react-router-dom";
+import LandingPage from "./LandingPage";
+import Login from "./Login";
+import Register from "./Register";
+
+const Layout = () => {
+	return (
+		<div className="flex flex-col min-h-screen">
+			{/* <Nav /> */}
+			<main className="grow">
+				<Outlet />
+			</main>
+		</div>
+	);
+};
+
+const router = createBrowserRouter([
+	{
+		path: "",
+		element: <Layout />,
+		children: [
+			{
+				path: "/",
+				element: <LandingPage />,
+			},
+			{
+				path: "/login",
+				element: <Login />,
+			},
+			{
+				path: "/register",
+				element: <Register />,
+			},
+		],
+	},
+]);
 
 function App() {
-	useEffect(() => {
-		const fetchData = async () => {
-			const response = await fetch("http://localhost:8080/");
-			const data = await response.json();
-			console.log(data);
-		};
-		fetchData();
-	});
-
-	return (
-		<>
-			<p className="text-red-500">ok</p>
-		</>
-	);
+	return <RouterProvider router={router} />;
 }
 
