From aa122113ade36f02dc8fdbebdf1232b5c4b8742c Mon Sep 17 00:00:00 2001 From: Kamal Wickramanayake Date: Fri, 3 Jul 2026 19:02:36 +0530 Subject: Microservice sample projects --- .../src/features/auth/components/Login.jsx | 9 +++++ .../src/features/auth/components/Register.jsx | 9 +++++ .../src/features/auth/layouts/AuthLayout.jsx | 12 +++++++ .../src/features/posts/components/PostList.jsx | 42 ++++++++++++++++++++++ 4 files changed, 72 insertions(+) create mode 100644 microservices/04-react-app/src/features/auth/components/Login.jsx create mode 100644 microservices/04-react-app/src/features/auth/components/Register.jsx create mode 100644 microservices/04-react-app/src/features/auth/layouts/AuthLayout.jsx create mode 100644 microservices/04-react-app/src/features/posts/components/PostList.jsx (limited to 'microservices/04-react-app/src/features') diff --git a/microservices/04-react-app/src/features/auth/components/Login.jsx b/microservices/04-react-app/src/features/auth/components/Login.jsx new file mode 100644 index 0000000..45e3e9d --- /dev/null +++ b/microservices/04-react-app/src/features/auth/components/Login.jsx @@ -0,0 +1,9 @@ +import React from 'react' + +const Login = () => { + return ( +
Login
+ ) +} + +export default Login \ No newline at end of file diff --git a/microservices/04-react-app/src/features/auth/components/Register.jsx b/microservices/04-react-app/src/features/auth/components/Register.jsx new file mode 100644 index 0000000..bb20b14 --- /dev/null +++ b/microservices/04-react-app/src/features/auth/components/Register.jsx @@ -0,0 +1,9 @@ +import React from 'react' + +const Register = () => { + return ( +
Register
+ ) +} + +export default Register \ No newline at end of file diff --git a/microservices/04-react-app/src/features/auth/layouts/AuthLayout.jsx b/microservices/04-react-app/src/features/auth/layouts/AuthLayout.jsx new file mode 100644 index 0000000..20aada4 --- /dev/null +++ b/microservices/04-react-app/src/features/auth/layouts/AuthLayout.jsx @@ -0,0 +1,12 @@ +import { Outlet } from 'react-router'; + +const AuthLayout = () => { + return ( +
+
AuthLayout
+ +
+ ) +} + +export default AuthLayout \ No newline at end of file diff --git a/microservices/04-react-app/src/features/posts/components/PostList.jsx b/microservices/04-react-app/src/features/posts/components/PostList.jsx new file mode 100644 index 0000000..a7ccd3b --- /dev/null +++ b/microservices/04-react-app/src/features/posts/components/PostList.jsx @@ -0,0 +1,42 @@ +import { useState, useEffect } from 'react' +import api from '../../../services/api' + +const PostList = () => { + const [posts, setPosts] = useState([]); + const [loading, setLoading] = useState(true); + const [error, setError] = useState(null); + + // Fetch data on component mount + useEffect(() => { + api + .get("/posts") // Replace with your actual API endpoint + .then((response) => { + setPosts(response.data); + setLoading(false); + }) + .catch((err) => { + setError(err.message); + setLoading(false); + }); + }, []); + + if (loading) return

Loading posts...

; + if (error) return

Error: {error}

; + + return ( +
+

Latest posts

+ + {/* 1. LIST VIEW */} + +
+ ); +} + +export default PostList \ No newline at end of file -- cgit v1.2.3