Index: backend/controllers/taskController.js
===================================================================
--- backend/controllers/taskController.js	(revision cbc2ebb2da22ceb4d62f7999678adb3f70257e04)
+++ backend/controllers/taskController.js	(revision 541d02f2b464b3bddd80cdf36387be86458dc896)
@@ -96,94 +96,4 @@
 };
 
-const updateAttemptsTask = async (req, res) => {
-  const { id } = req.params;
-
-  try {
-    // Check if id is a UUID (string) or numeric
-    const where = {};
-    if (
-      id.match(
-        /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i
-      )
-    ) {
-      where.id = id;
-    } else {
-      try {
-        where.id = parseInt(id);
-      } catch (e) {
-        where.id = id; // If parsing fails, use as is
-      }
-    }
-
-    const updatedTask = await prisma.challenges.update({
-      where: where,
-      data: {
-        attempted_by: { increment: 1 },
-      },
-    });
-
-    // Convert BigInt to string for JSON response
-    const result = { ...updatedTask };
-    if (typeof result.attempted_by === 'bigint') {
-      result.attempted_by = result.attempted_by.toString();
-    }
-    if (typeof result.solved_by === 'bigint') {
-      result.solved_by = result.solved_by.toString();
-    }
-
-    res.status(200).json(result);
-  } catch (error) {
-    console.error('Error updating task attempts:', error);
-    res
-      .status(500)
-      .json({ message: 'Internal server error', error: error.message });
-  }
-};
-
-const updateSolvedTask = async (req, res) => {
-  const { id } = req.params;
-
-  try {
-    // Check if id is a UUID (string) or numeric
-    const where = {};
-    if (
-      id.match(
-        /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i
-      )
-    ) {
-      where.id = id;
-    } else {
-      try {
-        where.id = parseInt(id);
-      } catch (e) {
-        where.id = id; // If parsing fails, use as is
-      }
-    }
-
-    const updatedTask = await prisma.challenges.update({
-      where: where,
-      data: {
-        solved_by: { increment: 1 },
-      },
-    });
-
-    // Convert BigInt to string for JSON response
-    const result = { ...updatedTask };
-    if (typeof result.attempted_by === 'bigint') {
-      result.attempted_by = result.attempted_by.toString();
-    }
-    if (typeof result.solved_by === 'bigint') {
-      result.solved_by = result.solved_by.toString();
-    }
-
-    res.status(200).json(result);
-  } catch (error) {
-    console.error('Error updating task solved count:', error);
-    res
-      .status(500)
-      .json({ message: 'Internal server error', error: error.message });
-  }
-};
-
 const fetchTestCaseForToday = async (req, res) => {
   const { id } = req.params;
@@ -251,4 +161,37 @@
 }
 
+function isOutputCorrect(userOutput, expectedOutput, outputType) {
+  const normalizeString = (str) =>
+    str.toLowerCase().replace(/[,"']/g, '').replace(/\s+/g, ' ').trim();
+
+  const normalizeArray = (str) => {
+    const cleaned = str.replace(/[\[\]]/g, '');
+    return cleaned
+      .split(/[\s,]+/)
+      .filter((val) => val !== '')
+      .map((val) => val.trim());
+  };
+
+  if (outputType === 'integer') {
+    return parseInt(userOutput) === parseInt(expectedOutput);
+  }
+
+  if (outputType === 'float') {
+    return Math.abs(parseFloat(userOutput) - parseFloat(expectedOutput)) < 1e-6;
+  }
+  if (outputType === 'array') {
+    const userArr = normalizeArray(userOutput);
+    const expectedArr = normalizeArray(expectedOutput);
+    if (userArr.length !== expectedArr.length) return false;
+    for (let i = 0; i < userArr.length; i++) {
+      if (userArr[i] !== expectedArr[i]) return false;
+    }
+    return true;
+  }
+  const a = normalizeString(userOutput);
+  const b = normalizeString(expectedOutput);
+  return a === b;
+}
+
 const evaluateTask = async (req, res) => {
   const { id: taskId } = req.params;
@@ -285,5 +228,14 @@
       },
     });
-    if (userOutput == testCase.output) {
+
+    const taskOutputType = await prisma.challenges.findUnique({
+      where: {
+        id: taskId,
+      },
+      select: {
+        output_type: true,
+      },
+    });
+    if (isOutputCorrect(userOutput, testCase.output, taskOutputType)) {
       const timeBonus = getTimeBonus();
       const attemptScore = getAttemptScore(attempts + 1);
@@ -298,4 +250,5 @@
           attempts: { increment: 1 },
           solvedDailyChallenge: true,
+          solved_problems: { increment: 1 },
         },
       });
@@ -342,6 +295,5 @@
 module.exports = {
   getTaskByDate,
-  updateAttemptsTask,
-  updateSolvedTask,
+
   fetchTestCaseForToday,
   evaluateTask,
Index: backend/routers/taskRouter.js
===================================================================
--- backend/routers/taskRouter.js	(revision cbc2ebb2da22ceb4d62f7999678adb3f70257e04)
+++ backend/routers/taskRouter.js	(revision 541d02f2b464b3bddd80cdf36387be86458dc896)
@@ -5,6 +5,5 @@
 router.get('/:date', taskController.getTaskByDate);
 router.get('/:id/test-case', taskController.fetchTestCaseForToday);
-router.put('/:id/attempts', taskController.updateAttemptsTask);
-router.put('/:id/solved', taskController.updateSolvedTask);
+
 router.post('/:id/evaluate', taskController.evaluateTask);
 
Index: client/src/Dashboard/components/Task.jsx
===================================================================
--- client/src/Dashboard/components/Task.jsx	(revision cbc2ebb2da22ceb4d62f7999678adb3f70257e04)
+++ client/src/Dashboard/components/Task.jsx	(revision 541d02f2b464b3bddd80cdf36387be86458dc896)
@@ -8,17 +8,8 @@
   const [testCase, setTestCase] = useState(null);
   const [effectiveTaskDate, setEffectiveTaskDate] = useState('');
-  const [formattedTitle, setFormattedTitle] = useState('');
+
   const today = new Date().toLocaleDateString();
   const user = JSON.parse(localStorage.getItem('user')) || { attempts: 0 };
   const navigate = useNavigate();
-
-  useEffect(() => {
-    const now = new Date();
-    let initialEffectiveDate = new Date(now);
-    if (now.getHours() < 7) {
-      initialEffectiveDate.setDate(now.getDate() - 1);
-    }
-    setEffectiveTaskDate(initialEffectiveDate.toLocaleDateString());
-  }, []);
 
   useEffect(() => {
@@ -31,5 +22,4 @@
     try {
       const formattedDate = new Date(date).toISOString().split('T')[0];
-      console.log('Fetching task for date:', formattedDate);
 
       const response = await fetch(`/task/${formattedDate}`, {
@@ -67,6 +57,4 @@
           examples: taskData.examples || [], // Use examples directly from the API response
         });
-
-        console.log('Fetched task:', task);
       } else {
         console.error('No tasks found for the date');
@@ -99,5 +87,4 @@
   async function fetchTestCaseForToday(id) {
     try {
-      console.log('Fetching test case for task ID:', id);
       const response = await fetch(`/task/${id}/test-case`, {
         headers: {
@@ -112,5 +99,4 @@
 
       const data = await response.json();
-      console.log('Fetched test case:', data);
 
       if (data && data.input) {
@@ -204,5 +190,5 @@
           {!showTask ? (
             <div className="card bg-base-200 shadow-xl">
-              <div className="card-body items-center text-center">
+              <div className="card-body items-center ">
                 <div className="flex items-center justify-center w-16 h-16 rounded-full bg-primary/10">
                   <svg
@@ -225,5 +211,5 @@
                     <div className="card-body">
                       <h2 className="card-title">Rules for Grading</h2>
-                      <ul className="list-disc list-inside space-y-2">
+                      <ul className="list-disc pl-5 space-y-2">
                         <li>Earlier submissions receive better scores</li>
                         <li>Multiple attempts will reduce your score</li>
@@ -250,45 +236,25 @@
                   </div>
                 </div>
-                {user.solvedDailyChallenge && (
-                  <div className="card-actions justify-center mt-8">
-                    <button
-                      onClick={handleStart}
-                      className="btn btn-lg border-amber-400 gap-2"
+
+                <div className="card-actions justify-center mt-8">
+                  <button
+                    onClick={handleStart}
+                    className="btn btn-lg border-amber-400 gap-2"
+                  >
+                    <svg
+                      xmlns="http://www.w3.org/2000/svg"
+                      className="w-6 h-6"
+                      viewBox="0 0 24 24"
+                      fill="none"
+                      stroke="currentColor"
+                      strokeWidth="2"
                     >
-                      <svg
-                        xmlns="http://www.w3.org/2000/svg"
-                        className="w-6 h-6"
-                        viewBox="0 0 24 24"
-                        fill="none"
-                        stroke="currentColor"
-                        strokeWidth="2"
-                      >
-                        <path d="M5 3l14 9-14 9V3z" />
-                      </svg>
-                      Start Challenge
-                    </button>
-                  </div>
-                )}
-
-                {user.solvedDailyChallenge && (
-                  <div className="card-actions justify-center mt-8">
-                    <button
-                      className="btn btn-lg border-amber-400 gap-2"
-                      disabled
-                    >
-                      <svg
-                        xmlns="http://www.w3.org/2000/svg"
-                        className="w-6 h-6"
-                        viewBox="0 0 24 24"
-                        fill="none"
-                        stroke="currentColor"
-                        strokeWidth="2"
-                      >
-                        <path d="M5 3l14 9-14 9V3z" />
-                      </svg>
-                      Come back tomorrow at 7 AM
-                    </button>
-                  </div>
-                )}
+                      <path d="M5 3l14 9-14 9V3z" />
+                    </svg>
+                    {user.solvedDailyChallenge
+                      ? 'View Challenge'
+                      : 'Start Challenge'}
+                  </button>
+                </div>
               </div>
             </div>
@@ -301,4 +267,26 @@
                   </h1>
                 </div>
+
+                {user.solvedDailyChallenge && (
+                  <div className="alert alert-info mb-4">
+                    <svg
+                      xmlns="http://www.w3.org/2000/svg"
+                      fill="none"
+                      viewBox="0 0 24 24"
+                      className="w-6 h-6 stroke-current"
+                    >
+                      <path
+                        strokeLinecap="round"
+                        strokeLinejoin="round"
+                        strokeWidth="2"
+                        d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"
+                      ></path>
+                    </svg>
+                    <span>
+                      You have already completed today's challenge. Come back
+                      tomorrow at 7 AM for a new challenge!
+                    </span>
+                  </div>
+                )}
 
                 {task ? (
@@ -340,5 +328,4 @@
                           <div className="space-y-2 mt-2">
                             {task.examples.map((element, index) => {
-                              console.log('Rendering example:', element);
                               return (
                                 <p className="font-mono break-all" key={index}>
@@ -365,7 +352,12 @@
                       id="userOutput"
                       type="text"
-                      placeholder="Enter your output here..."
+                      placeholder={
+                        user.solvedDailyChallenge
+                          ? 'Challenge already completed'
+                          : 'Enter your output here...'
+                      }
                       className="textarea textarea-bordered textarea-lg w-full mb-4"
                       rows="6"
+                      disabled={user.solvedDailyChallenge}
                     />
                     <div className="card-actions justify-end gap-4">
@@ -387,7 +379,14 @@
                       <button
                         onClick={() => handleSubmitSolution()}
-                        className="btn border-amber-400 btn-lg"
+                        className={`btn btn-lg ${
+                          user.solvedDailyChallenge
+                            ? 'btn-disabled'
+                            : 'border-amber-400'
+                        }`}
+                        disabled={user.solvedDailyChallenge}
                       >
-                        Submit Solution
+                        {user.solvedDailyChallenge
+                          ? 'Already Completed'
+                          : 'Submit Solution'}
                       </button>
                     </div>
Index: client/src/LandingPage/LandingPage.jsx
===================================================================
--- client/src/LandingPage/LandingPage.jsx	(revision cbc2ebb2da22ceb4d62f7999678adb3f70257e04)
+++ client/src/LandingPage/LandingPage.jsx	(revision 541d02f2b464b3bddd80cdf36387be86458dc896)
@@ -8,14 +8,14 @@
 
 const LandingPage = () => {
-    return (
-        <div data-theme="luxury">
-            <NavbarLanding/>
-            <Hero/>
-            <Intro/>
-            <VisionSection/>
-            <LeaderBoardEx/>
-            <Footer/>
-        </div>
-    );
+  return (
+    <div data-theme="luxury">
+      <NavbarLanding />
+      <Hero />
+      <Intro />
+      <VisionSection />
+      <LeaderBoardEx />
+      <Footer />
+    </div>
+  );
 };
 
Index: client/src/LandingPage/components/Footer.jsx
===================================================================
--- client/src/LandingPage/components/Footer.jsx	(revision cbc2ebb2da22ceb4d62f7999678adb3f70257e04)
+++ client/src/LandingPage/components/Footer.jsx	(revision 541d02f2b464b3bddd80cdf36387be86458dc896)
@@ -6,5 +6,5 @@
       <nav className="grid grid-flow-col gap-4">
         <a className="link link-hover">Register</a>
-        <a className="link link-hover">Login in</a>
+        <a className="link link-hover">Log In</a>
         <a className="link link-hover">Attempt a challenge</a>
         <a className="link link-hover">Leaderboard</a>
Index: client/src/Register/Register.jsx
===================================================================
--- client/src/Register/Register.jsx	(revision cbc2ebb2da22ceb4d62f7999678adb3f70257e04)
+++ client/src/Register/Register.jsx	(revision 541d02f2b464b3bddd80cdf36387be86458dc896)
@@ -86,5 +86,5 @@
           data.message.includes('email address has already been registered')
         ) {
-          setError('Email already exists');
+          setError('Email already in use');
         } else {
           // Generic error
