diff --git a/daily-thought-frontend/src/pages/register.tsx b/daily-thought-frontend/src/pages/register.tsx
index 36f9573d0a1c5f94ae8ee92fd22fcf2bc782a8a8..f9e4f6bc66e1973a48db0d17f71955bf105eff36 100644
--- a/daily-thought-frontend/src/pages/register.tsx
+++ b/daily-thought-frontend/src/pages/register.tsx
@@ -1,13 +1,15 @@
 import BasicField from "@/components/form/basicField";
-import { useState } from "react";
+import { FormEvent, useState } from "react";
+import Router from 'next/router'
 
 const Register = () => {
   const [username, setUsername] = useState<string>("");
   const [email, setEmail] = useState<string>("");
   const [password, setPassword] = useState<string>("");
   const [passwordConfirmation, setPasswordConfirmation] = useState<string>("");
+  const [error, setError] = useState<string>("");
 
-  const handleSubmit = async (event) => {
+  const handleSubmit = async (event: FormEvent) => {
     event.preventDefault()
 
     const JSONdata = JSON.stringify({
@@ -16,7 +18,7 @@ const Register = () => {
       password: password,
       profile: ""
     })
-    const endpoint = '/api/form'
+    const endpoint = `${process.env.NEXT_PUBLIC_USER_SERVICE_URL}api/register`
     const options = {
       method: 'POST',
       headers: {
@@ -26,7 +28,14 @@ const Register = () => {
     }
     const response = await fetch(endpoint, options)
     const result = await response.json()
-    alert(`Success: ${result.data}`)
+
+    console.log(result.error)
+
+    if(result.error !== undefined){
+      setError(result.error.error)
+    } else {  
+      Router.push("/feed")
+    }
   }
 
  return (
@@ -44,7 +53,7 @@ const Register = () => {
               </a>
             </p>
 
-          <form className="mt-8 space-y-6" action="#" method="POST">
+          <form className="mt-8 space-y-6"  onSubmit={(e) => handleSubmit(e)}>
             <input type="hidden" name="remember" defaultValue="true" />
             <div className="rounded-md shadow-sm">
               <BasicField name="username" placeholder="Username" onChange={setUsername}/>
@@ -53,9 +62,12 @@ const Register = () => {
               <BasicField name="password" placeholder="Confirm Password" onChange={setPasswordConfirmation} error={password === passwordConfirmation ? null : "Confirmation doesn't match"}/>
             </div>
             <div>
+              <p className="text-xs text-c-pink m-2">
+                {error}
+              </p>
               <button
                 type="submit"
-                className="group relative flex w-full justify-center rounded-md bg-c-pink px-3 py-2 text-sm font-semibold text-white hover:bg-white hover:text-c-pink hover:border-c-pink focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-c-pink"
+                className="group relative flex w-full justify-center rounded-md bg-c-pink px-3 py-2 text-sm font-semibold text-white hover:bg-c-pink hover:text-c-green hover:border-c-pink focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-c-pink"
               >
                 Sign in
               </button>
diff --git a/daily-thought-frontend/src/pages/signIn.tsx b/daily-thought-frontend/src/pages/signIn.tsx
index 23f078e61c257c119d740a4616949c909b70e594..e3aa4975d499862f729ccc721280c893be5fb8f3 100644
--- a/daily-thought-frontend/src/pages/signIn.tsx
+++ b/daily-thought-frontend/src/pages/signIn.tsx
@@ -1,4 +1,38 @@
+import Router from 'next/router'
+import { FormEvent, useState } from 'react';
+
 const SignIn = () => {
+  const [error, setError] = useState<string>("");
+  const [username, setUsername] = useState<string>("");
+  const [password, setPassword] = useState<string>("");
+
+  const handleSubmit = async (event: FormEvent) => {
+    event.preventDefault()
+
+    const JSONdata = JSON.stringify({
+      username: username,
+      password: password
+    })
+    const endpoint = `${process.env.NEXT_PUBLIC_USER_SERVICE_URL}api/login`
+    const options = {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json',
+      },
+      body: JSONdata,
+    }
+    const response = await fetch(endpoint, options)
+    const result = await response.json()
+
+    console.log(result.error)
+
+    if(result.error !== undefined){
+      setError(result.error)
+    } else {  
+      Router.push("/feed")
+    }
+  }
+
   return (
     <>
       <div className="flex min-h-full items-center justify-center px-4 py-12 sm:px-6 lg:px-8">
@@ -14,21 +48,22 @@ const SignIn = () => {
               </a>
             </p>
           </div>
-          <form className="mt-8 space-y-6" action="#" method="POST">
+          <form className="mt-8 space-y-6" onSubmit={(e) => handleSubmit(e)}>
             <input type="hidden" name="remember" defaultValue="true" />
             <div className="-space-y-px rounded-md shadow-sm">
               <div>
-                <label htmlFor="email-address" className="sr-only">
+                <label htmlFor="username" className="sr-only">
                   Email address
                 </label>
                 <input
-                  id="email-address"
-                  name="email"
-                  type="email"
-                  autoComplete="email"
+                  id="username"
+                  name="username"
+                  type="text"
+                  autoComplete="username"
                   required
                   className="relative block w-full rounded-t-md border-0 py-1.5 text-gray-900 ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:z-10 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
-                  placeholder="Email address"
+                  placeholder="Username"
+                  onChange={(e) => setUsername(e.target.value)}
                 />
               </div>
               <div>
@@ -43,6 +78,7 @@ const SignIn = () => {
                   required
                   className="relative block w-full rounded-b-md border-0 py-1.5 text-gray-900 ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:z-10 focus:ring-2 focus:ring-inset focus:ring-indigo-600 sm:text-sm sm:leading-6"
                   placeholder="Password"
+                  onChange={(e) => setPassword(e.target.value)}
                 />
               </div>
             </div>
@@ -68,6 +104,9 @@ const SignIn = () => {
             </div>
 
             <div>
+              <p className='text-xs text-c-pink m-2'>
+                {error}
+              </p>
               <button
                 type="submit"
                 className="group relative flex w-full justify-center rounded-md bg-c-pink px-3 py-2 text-sm font-semibold text-white hover:bg-indigo-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-indigo-600"