Index: backend/challenges/initialChallenges.json
===================================================================
--- backend/challenges/initialChallenges.json	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ backend/challenges/initialChallenges.json	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -698,4 +698,66 @@
     "difficulty": "Medium",
     "output_type": "string"
+  },
+  {
+    "title": "signal-path-through-the-underground-network",
+    "description": "Deep beneath the ancient ruins lies a network of underground tunnels. Each chamber is labeled with a unique name, and tunnels connect some of them directly. You’ve intercepted a distress signal that was sent from one chamber, and your job is to trace the shortest path it could have taken to reach another chamber.\n\nThe map of the tunnel system is encoded as an adjacency list. Your goal is to find the shortest path from the signal’s origin to its last known destination.\n\nReturn the path as a space-separated list of chamber labels. If no path exists, return 'NO PATH'.",
+    "examples": [
+      {
+        "input": "Start:A End:D\nA:B,C\nB:A,D\nC:A,D\nD:B,C\n",
+        "output": "A B D"
+      },
+      {
+        "input": "Start:X End:Z\nX:Y\nY:X,Z\nZ:Y\n",
+        "output": "X Y Z"
+      },
+      {
+        "input": "Start:Hallway End:Control\nHallway:Engine\nEngine:Hallway\nControl:\n",
+        "output": "NO PATH"
+      }
+    ],
+    "testcases": [
+      {
+        "input": "Start:E10 End:E40\nE1:E2\nE2:E1,E3\nE3:E2,E4\nE4:E3,E5\nE5:E4,E6\nE6:E5,E7\nE7:E6,E8\nE8:E7,E9\nE9:E8,E10\nE10:E9,E11\nE11:E10,E12\nE12:E11,E13\nE13:E12,E14\nE14:E13,E15\nE15:E14,E16\nE16:E15,E17\nE17:E16,E18\nE18:E17,E19\nE19:E18,E20\nE20:E19,E21\nE21:E20,E22\nE22:E21,E23\nE23:E22,E24\nE24:E23,E25\nE25:E24,E26\nE26:E25,E27\nE27:E26,E28\nE28:E27,E29\nE29:E28,E30\nE30:E29,E31\nE31:E30,E32\nE32:E31,E33\nE33:E32,E34\nE34:E33,E35\nE35:E34,E36\nE36:E35,E37\nE37:E36,E38\nE38:E37,E39\nE39:E38,E40\nE40:E39,E41\nE41:E40,E42\nE42:E41,E43\nE43:E42,E44\nE44:E43,E45\nE45:E44,E46\nE46:E45,E47\nE47:E46,E48\nE48:E47,E49\nE49:E48,E50\nE50:E49\n",
+        "output": "E10 E11 E12 E13 E14 E15 E16 E17 E18 E19 E20 E21 E22 E23 E24 E25 E26 E27 E28 E29 E30 E31 E32 E33 E34 E35 E36 E37 E38 E39 E40"
+      },
+      {
+        "input": "Start:A5 End:A45\nA1:A2\nA2:A1,A3\nA3:A2,A4\nA4:A3,A5\nA5:A4,A6\nA6:A5,A7\nA7:A6,A8\nA8:A7,A9\nA9:A8,A10\nA10:A9,A11\nA11:A10,A12\nA12:A11,A13\nA13:A12,A14\nA14:A13,A15\nA15:A14,A16\nA16:A15,A17\nA17:A16,A18\nA18:A17,A19\nA19:A18,A20\nA20:A19,A21\nA21:A20,A22\nA22:A21,A23\nA23:A22,A24\nA24:A23,A25\nA25:A24,A26\nA26:A25,A27\nA27:A26,A28\nA28:A27,A29\nA29:A28,A30\nA30:A29,A31\nA31:A30,A32\nA32:A31,A33\nA33:A32,A34\nA34:A33,A35\nA35:A34,A36\nA36:A35,A37\nA37:A36,A38\nA38:A37,A39\nA39:A38,A40\nA40:A39,A41\nA41:A40,A42\nA42:A41,A43\nA43:A42,A44\nA44:A43,A45\nA45:A44,A46\nA46:A45,A47\nA47:A46,A48\nA48:A47,A49\nA49:A48,A50\nA50:A49\n",
+        "output": "A5 A6 A7 A8 A9 A10 A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 A31 A32 A33 A34 A35 A36 A37 A38 A39 A40 A41 A42 A43 A44 A45"
+      },
+      {
+        "input": "Start:N15 End:N35\nN1:N2\nN2:N1,N3\nN3:N2,N4\nN4:N3,N5\nN5:N4,N6\nN6:N5,N7\nN7:N6,N8\nN8:N7,N9\nN9:N8,N10\nN10:N9,N11\nN11:N10,N12\nN12:N11,N13\nN13:N12,N14\nN14:N13,N15\nN15:N14,N16\nN16:N15,N17\nN17:N16,N18\nN18:N17,N19\nN19:N18,N20\nN20:N19,N21\nN21:N20,N22\nN22:N21,N23\nN23:N22,N24\nN24:N23,N25\nN25:N24,N26\nN26:N25,N27\nN27:N26,N28\nN28:N27,N29\nN29:N28,N30\nN30:N29,N31\nN31:N30,N32\nN32:N31,N33\nN33:N32,N34\nN34:N33,N35\nN35:N34,N36\nN36:N35,N37\nN37:N36,N38\nN38:N37,N39\nN39:N38,N40\nN40:N39,N41\nN41:N40,N42\nN42:N41,N43\nN43:N42,N44\nN44:N43,N45\nN45:N44,N46\nN46:N45,N47\nN47:N46,N48\nN48:N47,N49\nN49:N48,N50\nN50:N49\n",
+        "output": "N15 N16 N17 N18 N1920 N21 N22 N23 N24 N25 N26 N27 N28 N29 N30 N31 N32 N33 N34 N35"
+      },
+      {
+        "input": "Start:X10 End:X30\nX1:X2\nX2:X1,X3,X4\nX3:X2\nX4:X2,X5\nX5:X4,X6\nX6:X5,X7\nX7:X6,X8\nX8:X7,X9\nX9:X8,X10\nX10:X9,X11\nX11:X10,X12\nX12:X11,X13\nX13:X12,X14\nX14:X13,X15\nX15:X14,X16\nX16:X15,X17\nX17:X16,X18\nX18:X17,X19\nX19:X18,X20\nX20:X19,X21\nX21:X20,X22\nX22:X21,X23\nX23:X22,X24\nX24:X23,X25\nX25:X24,X26\nX26:X25,X27\nX27:X26,X28\nX28:X27,X29\nX29:X28,X30\nX30:X29,X31\nX31:X30,X32\nX32:X31,X33\nX33:X32,X34\nX34:X33,X35\nX35:X34,X36\nX36:X35,X37\nX37:X36,X38\nX38:X37,X39\nX39:X38,X40\nX40:X39,X41\nX41:X40,X42\nX42:X41,X43\nX43:X42,X44\nX44:X43,X45\nX45:X44,X46\nX46:X45,X47\nX47:X46,X48\nX48:X47,X49\nX49:X48,X50\nX50:X49\n",
+        "output": "X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25 X26 X27 X28 X29 X30"
+      },
+      {
+        "input": "Start:R20 End:R40\nR1:R2\nR2:R1,R3\nR3:R2,R4\nR4:R3,R5\nR5:R4,R6\nR6:R5,R7\nR7:R6,R8\nR8:R7,R9\nR9:R8,R10\nR10:R9,R11\nR11:R10,R12\nR12:R11,R13\nR13:R12,R14\nR14:R13,R15\nR15:R14,R16\nR16:R15,R17\nR17:R16,R18\nR18:R17,R19\nR19:R18,R20\nR20:R19,R21\nR21:R20,R22\nR22:R21,R23\nR23:R22,R24\nR24:R23,R25\nR25:R24,R26\nR26:R25,R27\nR27:R26,R28\nR28:R27,R29\nR29:R28,R30\nR30:R29,R31\nR31:R30,R32\nR32:R31,R33\nR33:R32,R34\nR34:R33,R35\nR35:R34,R36\nR36:R35,R37\nR37:R36,R38\nR38:R37,R39\nR39:R38,R40\nR40:R39,R41\nR41:40,R42\nR42:R41,R43\nR43:R42,R44\nR44:R43,R45\nR45:R44,R46\nR46:R45,R47\nR47:R46,R48\nR48:R47,R49\nR49:R48,R50\nR50:R49\n",
+        "output": "R20 R21 R22 R23 R24 R25 R26 R27 R28 R29 R30 R31 R32 R33 R34 R35 R36 R37 R38 R39 R40"
+      },
+      {
+        "input": "Start:C5 End:C45\nC1:C2\nC2:C1,C3\nC3:C2,C4\nC4:C3,C5\nC5:C4,C6\nC6:C5,C7\nC7:C6,C8\nC8:C7,C9\nC9:C8,C10\nC10:C9,C11\nC11:C10,C12\nC12:C11,C13\nC13:C12,C14\nC14:C13,C15\nC15:C14,C16\nC16:C15,C17\nC17:C16,C18\nC18:C17,C19\nC19:C18,C20\nC20:C19,C21\nC21:C20,C22\nC22:C21,C23\nC23:C22,C24\nC24:C23,C25\nC25:C24,C26\nC26:C25,C27\nC27:C26,C28\nC28:C27,C29\nC29:C28,C30\nC30:C29,C31\nC31:C30,C32\nC32:C31,C33\nC33:C32,C34\nC34:C33,C35\nC35:C34,C36\nC36:C35,C37\nC37:C36,C38\nC38:C37,C39\nC39:C38,C40\nC40:C39,C41\nC41:C40,C42\nC42:C41,C43\nC43:C42,C44\nC44:C43,C45\nC45:C44,C46\nC46:C45,C47\nC47:C46,C48\nC48:C47,C49\nC49:C48,C50\nC50:C49\n",
+        "output": "C5 C6 C7 C8 C9 C10 C11 C12 C13 C14 C15 C16 C17 C18 C19 C20 C21 C22 C23 C24 C25 C26 C27 C28 C29 C30 C31 C32 C33 C34 C35 C36 C37 C38 C39 C40 C41 C42 C43 C44 C45"
+      },
+      {
+        "input": "Start:N10 End:N30\nN1:N2,N3,N4\nN2:N1,N5\nN3:N1,N6\nN4:N1,N7\nN5:N2,N8\nN6:N3,N9\nN7:N4,N10\nN8:N5,N11\nN9:N6,N12\nN10:N7,N13\nN11:N8,N14\nN12:N9,N15\nN13:N10,N16\nN14:N11,N17\nN15:N12,N18\nN16:N13,N19\nN17:N14,N20\nN18:N15,N21\nN19:N16,N22\nN20:N17,N23\nN21:N18,N24\nN22:N19,N25\nN23:N20,N26\nN24:N21,N27\nN25:N22,N28\nN26:N23,N29\nN27:N24,N30\nN28:N25,N31\nN29:N26,N32\nN30:N27,N33\nN31:N28,N34\nN32:N29,N35\nN33:N30,N36\nN34:N31,N37\nN35:N32,N38\nN36:N33,N39\nN37:N34,N40\nN38:N35,N41\nN39:N36,N42\nN40:N37,N43\nN41:N38,N44\nN42:N39,N45\nN43:N40,N46\nN44:N41,N47\nN45:N42,N48\nN46:N43,N49\nN47:N44,N50\nN48:N45\nN49:N46\nN50:N47\n",
+        "output": "N10 N13 N16 N19 N22 N25 N28 N30"
+      },
+      {
+        "input": "Start:P5 End:P25\nP1:P2,P3\nP2:P1,P4\nP3:P1,P5\nP4:P2,P6\nP5:P3,P7\nP6:P4,P8\nP7:P5,P9\nP8:P6,P10\nP9:P7,P11\nP10:P8,P12\nP11:P9,P13\nP12:P10,P14\nP13:P11,P15\nP14:P12,P16\nP15:P13,P17\nP16:P14,P18\nP17:P15,P19\nP18:P16,P20\nP19:P17,P21\nP20:P18,P22\nP21:P19,P23\nP22:P20,P24\nP23:P21,P25\nP24:P22,P26\nP25:P23,P27\nP26:P24,P28\nP27:P25,P29\nP28:P26,P30\nP29:P27,P31\nP30:P28,P32\nP31:P29,P33\nP32:P30,P34\nP33:P31,P35\nP34:P32,P36\nP35:P33,P37\nP36:P34,P38\nP37:P35,P39\nP38:P36,P40\nP39:P37,P41\nP40:P38,P42\nP41:P39,P43\nP42:P40,P44\nP43:P41,P45\nP44:P42,P46\nP45:P43,P47\nP46:P44,P48\nP47:P45,P49\nP48:P46,P50\nP49:P47\nP50:P48\n",
+        "output": "P5 P7 P9 P11 P13 P15 P17 P19 P21 P23 P25"
+      },
+      {
+        "input": "Start:Z15 End:Z35\nZ1:Z2,Z3\nZ2:Z1,Z4,Z5\nZ3:Z1,Z6\nZ4:Z2,Z7\nZ5:Z2,Z8\nZ6:Z3,Z9\nZ7:Z4,Z10\nZ8:Z5,Z11\nZ9:Z6,Z12\nZ10:Z7,Z13\nZ11:Z8,Z14\nZ12:Z9,Z15\nZ13:Z10,Z16\nZ14:Z11,Z17\nZ15:Z12,Z18\nZ16:Z13,Z19\nZ17:Z14,Z20\nZ18:Z15,Z21\nZ19:Z16,Z22\nZ20:Z17,Z23\nZ21:Z18,Z24\nZ22:Z19,Z25\nZ23:Z20,Z26\nZ24:Z21,Z27\nZ25:Z22,Z28\nZ26:Z23,Z29\nZ27:Z24,Z30\nZ28:Z25,Z31\nZ29:Z26,Z32\nZ30:Z27,Z33\nZ31:Z28,Z34\nZ32:Z29,Z35\nZ33:Z30,Z36\nZ34:Z31,Z37\nZ35:Z32,Z38\nZ36:Z33,Z39\nZ37:Z34,Z40\nZ38:Z35,Z41\nZ39:Z36,Z42\nZ40:Z37,Z43\nZ41:Z38,Z44\nZ42:Z39,Z45\nZ43:Z40,Z46\nZ44:Z41,Z47\nZ45:Z42,Z48\nZ46:Z43,Z49\nZ47:Z44,Z50\nZ48:Z45\nZ49:Z46\nZ50:Z47\n",
+        "output": "Z15 Z18 Z21 Z24 Z27 Z30 Z33 Z35"
+      },
+      {
+        "input": "Start:M10 End:M40\nM1:M2,M3,M4,M5\nM2:M1,M6\nM3:M1,M7\nM4:M1,M8\nM5:M1,M9\nM6:M2,M10\nM7:M3,M11\nM8:M4,M12\nM9:M5,M13\nM10:M6,M14\nM11:M7,M15\nM12:M8,M16\nM13:M9,M17\nM14:M10,M18\nM15:M11,M19\nM16:M12,M20\nM17:M13,M21\nM18:M14,M22\nM19:M15,M23\nM20:M16,M24\nM21:M17,M25\nM22:M18,M26\nM23:M19,M27\nM24:M20,M28\nM25:M21,M29\nM26:M22,M30\nM27:M23,M31\nM28:M24,M32\nM29:M25,M33\nM30:M26,M34\nM31:M27,M35\nM32:M28,M36\nM33:M29,M37\nM34:M30,M38\nM35:M31,M39\nM36:M32,M40\nM37:M33,M41\nM38:M34,M42\nM39:M35,M43\nM40:M36,M44\nM41:M37,M45\nM42:M38,M46\nM43:M39,M47\nM44:M40,M48\nM45:M41,M49\nM46:M42,M50\nM47:M43\nM48:M44\nM49:M45\nM50:M46\n",
+        "output": "M10 M14 M18 M22 M26 M30 M34 M38 M40"
+      }
+    ],
+    "difficulty": "Medium",
+    "output_type": "string"
   }
 ]
Index: backend/controllers/forumController.js
===================================================================
--- backend/controllers/forumController.js	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ backend/controllers/forumController.js	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -24,6 +24,7 @@
     const postCounter = user.postCounter;
     const postCheckCounter = user.postCheckCounter;
-
-    if (postCheckCounter >= -11) {
+    console.log(postCheckCounter);
+
+    if (postCounter >= 1) {
       const post = new ForumPost({
         title,
Index: backend/controllers/reviewController.js
===================================================================
--- backend/controllers/reviewController.js	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ backend/controllers/reviewController.js	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -18,5 +18,5 @@
       dateCreated: new Date(),
     });
-    const savedPost = await prisma.to_be_reviewed.create({
+    await prisma.to_be_reviewed.create({
       data: post,
     });
@@ -136,12 +136,16 @@
       return res.status(404).json({ error: "Post not found" });
     }
+    const newForumPost = new ForumPost({
+      id: postToApprove.id,
+      title: postToApprove.title,
+      content: postToApprove.content,
+      authorName: postToApprove.author_name,
+      authorId: postToApprove.author_id,
+      dateCreated: postToApprove.created_at,
+      commentCount: postToApprove.comment_count || 0,
+    });
 
-    const newForumPost = await prisma.forum_posts.create({
-      data: {
-        title: postToApprove.title,
-        content: postToApprove.content,
-        author_id: postToApprove.author_id,
-        author_name: postToApprove.author_name,
-      },
+    await prisma.forum_posts.create({
+      data: newForumPost,
     });
 
Index: backend/controllers/taskController.js
===================================================================
--- backend/controllers/taskController.js	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ backend/controllers/taskController.js	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -291,5 +291,4 @@
   const { userId } = req.params;
   const { testCaseId } = req.body;
-  console.log("Updating user daily challenge ID:", userId, testCaseId);
 
   if (!testCaseId) {
Index: backend/models/Challenge.js
===================================================================
--- backend/models/Challenge.js	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ backend/models/Challenge.js	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -47,7 +47,7 @@
     // if (!this.test_cases || !Array.isArray(this.test_cases)) {
     //   errors.push("Test cases must be an array");
-    // } else if (this.test_cases.length < 10) {
-    //   errors.push("At least 10 test cases are required");
-    // } else {
+    // // } else if (this.test_cases.length < 10) {
+    // //   errors.push("At least 10 test cases are required");
+    // // } else {
     //   this.test_cases.forEach((testCase, index) => {
     //     if (!testCase.input || !testCase.output) {
Index: backend/scripts/addChallenge.js
===================================================================
--- backend/scripts/addChallenge.js	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ backend/scripts/addChallenge.js	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -1,50 +1,50 @@
-// const supabase = require("../supabaseClient");
-// const prisma = require("../lib/prisma");
-// const fs = require("fs").promises;
-// const path = require("path");
-// const Challenge = require("../models/Challenge");
+const supabase = require("../supabaseClient");
+const prisma = require("../lib/prisma");
+const fs = require("fs").promises;
+const path = require("path");
+const Challenge = require("../models/Challenge");
 
-// async function addChallenge() {
-//   const jsonPath = path.join(__dirname, "../challenges/initialChallenges.json");
-//   const data = await fs.readFile(jsonPath, "utf8");
-//   const challengesData = JSON.parse(data);
+async function addChallenge() {
+  const jsonPath = path.join(__dirname, "../challenges/initialChallenges.json");
+  const data = await fs.readFile(jsonPath, "utf8");
+  const challengesData = JSON.parse(data);
 
-//   const challenge = challengesData[challengesData.length - 1];
+  const challenge = challengesData[challengesData.length - 1];
 
-//   let currentDate = new Date();
-//   currentDate.setDate(currentDate.getDate() + 1);
-//   const newChallenge = new Challenge({
-//     title: challenge.title,
-//     content: challenge.description,
-//     solving_date: currentDate,
-//     attempted_by: 0,
-//     solved_by: 0,
-//     expired: false,
-//     examples: challenge.examples,
-//     test_cases: challenge.testcases.map((testCase) => ({
-//       input: testCase.input,
-//       output: testCase.output,
-//     })),
-//     output_type: challenge.output_type,
-//     difficulty: challenge.difficulty,
-//   });
-//   const createdChallenge = await prisma.challenges.create({
-//     data: {
-//       title: newChallenge.title,
-//       content: newChallenge.content,
-//       solving_date: newChallenge.solving_date,
-//       attempted_by: newChallenge.attempted_by,
-//       solved_by: newChallenge.solved_by,
-//       expired: newChallenge.expired,
-//       examples: newChallenge.examples,
-//       output_type: newChallenge.output_type,
-//       difficulty: newChallenge.difficulty,
+  let currentDate = new Date();
+  currentDate.setDate(currentDate.getDate());
+  const newChallenge = new Challenge({
+    title: challenge.title,
+    content: challenge.description,
+    solving_date: currentDate,
+    attempted_by: 0,
+    solved_by: 0,
+    expired: false,
+    examples: challenge.examples,
+    test_cases: challenge.testcases.map((testCase) => ({
+      input: testCase.input,
+      output: testCase.output,
+    })),
+    output_type: challenge.output_type,
+    difficulty: challenge.difficulty,
+  });
+  const createdChallenge = await prisma.challenges.create({
+    data: {
+      title: newChallenge.title,
+      content: newChallenge.content,
+      solving_date: newChallenge.solving_date,
+      attempted_by: newChallenge.attempted_by,
+      solved_by: newChallenge.solved_by,
+      expired: newChallenge.expired,
+      examples: newChallenge.examples,
+      output_type: newChallenge.output_type,
+      difficulty: newChallenge.difficulty,
 
-//       test_cases: {
-//         create: newChallenge.test_cases,
-//       },
-//     },
-//   });
-// }
+      test_cases: {
+        create: newChallenge.test_cases,
+      },
+    },
+  });
+}
 
-// addChallenge();
+addChallenge();
Index: client/src/Dashboard/components/CreateNewChallenge.jsx
===================================================================
--- client/src/Dashboard/components/CreateNewChallenge.jsx	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ client/src/Dashboard/components/CreateNewChallenge.jsx	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -79,5 +79,4 @@
       //   return;
       // }
-
       const hasEmptyTestCase = testCases.some(
         (tc) => !tc.input.trim() || !tc.output.trim()
@@ -240,5 +239,10 @@
                   setFormData((prev) => ({ ...prev, solving_date: date }))
                 }
-                minDate={new Date()}
+                minDate={(() => {
+                  const tomorrow = new Date();
+                  tomorrow.setDate(tomorrow.getDate() + 1);
+
+                  return tomorrow;
+                })()}
               />
             </div>
Index: client/src/Dashboard/components/Forum.jsx
===================================================================
--- client/src/Dashboard/components/Forum.jsx	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ client/src/Dashboard/components/Forum.jsx	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -22,4 +22,5 @@
   const postsPerPage = 5;
   const { user } = useAuth();
+  console.log(user);
 
   const showModal = (message, type = "info", postId = null) => {
Index: client/src/Dashboard/components/ManageChallenges.jsx
===================================================================
--- client/src/Dashboard/components/ManageChallenges.jsx	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ client/src/Dashboard/components/ManageChallenges.jsx	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -154,5 +154,4 @@
       <h1 className="text-3xl font-bold ml-8 mb-12">Manage Challenges</h1>
       <div className="flex flex-col md:flex-row gap-8 ml-8 mx-auto">
-        {/* Left sidebar with calendar */}
         <div className="w-full md:w-[310px] flex-shrink-0 ">
           <div className="sticky top-6">
@@ -160,5 +159,4 @@
               <h2 className="font-semibold text-lg mb-4">Search by date:</h2>
 
-              {/* Calendar component */}
               <calendar-date
                 ref={calendarRef}
@@ -192,5 +190,4 @@
               </calendar-date>
 
-              {/* Search button */}
               <button
                 className="btn btn-block border-amber-400"
@@ -227,5 +224,4 @@
             </div>
             <div className="mt-6 w-full">
-              {/* Add new challenge button */}
               <button
                 className="btn btn-block btn-outline  border-amber-400 gap-2"
@@ -248,5 +244,4 @@
         </div>
 
-        {/* Main content area */}
         <div className="flex-1">
           {loading ? (
@@ -388,5 +383,4 @@
       </div>
 
-      {/* Modal (unchanged) */}
       {modal.isOpen && (
         <div
Index: client/src/Dashboard/components/Task.jsx
===================================================================
--- client/src/Dashboard/components/Task.jsx	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ client/src/Dashboard/components/Task.jsx	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -39,4 +39,5 @@
     try {
       const data = await getTaskForDate();
+      console.log(data);
 
       if (Array.isArray(data) && data.length > 0) {
@@ -320,8 +321,8 @@
                     <div className="card bg-base-300 mb-2">
                       <div className="card-body">
-                        <h2 className="card-title mb-1">
+                        <h2 className="card-title mb-1 underline">
                           Problem: {task.title || "Daily Challenge"}
                         </h2>
-                        <p className="text-lg leading-relaxed">
+                        <p className="text-lg leading-relaxed  break-words font-bold whitespace-pre-line">
                           {task.content || "No description available"}
                         </p>
@@ -332,9 +333,7 @@
                       <div className="card bg-primary/5">
                         <div className="card-body">
-                          <h3 className="card-title text-seondary underline">
-                            Your Input:
-                          </h3>
+                          <h3 className="card-title underline">Your Input:</h3>
                           <div
-                            className={`text-xl font-mono mt-3 break-words font-bold ${
+                            className={`text-xl font-mono mt-3 break-words max-h-45 overflow-y-auto font-bold ${
                               testCase &&
                               testCase.input &&
@@ -344,5 +343,7 @@
                             }`}
                           >
-                            {testCase && testCase.input}
+                            {testCase &&
+                              testCase.input &&
+                              testCase.input.replace(/^"|"$/g, "")}
                           </div>
                         </div>
@@ -354,8 +355,12 @@
                           <div className="space-y-5 mt-2">
                             {task.examples.map((example, index) => (
-                              <div key={index} className="font-mono text-sm">
+                              <div
+                                key={index}
+                                className="font-mono mt-3 break-words font-bold whitespace-pre-line"
+                              >
                                 <p className="pl-2 border-l-2 border-amber-400 mt-1">
-                                  Input: "{example.input || "N/A"}" <br />
-                                  Output: "{example.output || "N/A"}"
+                                  Input: {example.input || "N/A"} <br />
+                                  <br />
+                                  Output: {example.output || "N/A"}
                                 </p>
                               </div>
Index: client/src/contexts/AuthContext.jsx
===================================================================
--- client/src/contexts/AuthContext.jsx	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ client/src/contexts/AuthContext.jsx	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -11,33 +11,20 @@
 import { loginUser, registerUser } from "@/services/registerLoginService";
 
-const supabaseUrl = import.meta.env.VITE_SUPABASE_URL;
-const supabaseAnonKey = import.meta.env.VITE_SUPABASE_ANON_KEY;
-
-export const supabase = createClient(supabaseUrl, supabaseAnonKey, {
-  auth: {
-    persistSession: true,
-    storageKey: "supabase-auth-token",
-    storage: localStorage,
-    autoRefreshToken: true,
-  },
-});
-
-function parseJwt(token) {
-  try {
-    const base64Url = token.split(".")[1];
-    const base64 = decodeURIComponent(
-      atob(base64Url)
-        .split("")
-        .map((c) => "%" + ("00" + c.charCodeAt(0).toString(16)).slice(-2))
-        .join("")
-    );
-    return JSON.parse(base64);
-  } catch (e) {
-    return null;
+export const supabase = createClient(
+  import.meta.env.VITE_SUPABASE_URL,
+  import.meta.env.VITE_SUPABASE_ANON_KEY,
+  {
+    auth: {
+      persistSession: true,
+      autoRefreshToken: true,
+      storageKey: "supabase-auth-token",
+      storage: localStorage,
+    },
   }
-}
-
-export const AuthContext = createContext();
+);
+
+const AuthContext = createContext();
 export const useAuth = () => useContext(AuthContext);
+
 const INACTIVITY_TIMEOUT = 120 * 60 * 1000;
 
@@ -45,199 +32,44 @@
   const [user, setUser] = useState(null);
   const [loading, setLoading] = useState(true);
-  const [isVerifying, setIsVerifying] = useState(true);
-  const [isLoggingOut, setIsLoggingOut] = useState(false);
   const inactivityTimeoutRef = useRef(null);
   const tokenExpiryTimeoutRef = useRef(null);
-  const isActiveRef = useRef(false);
   const userRef = useRef(null);
   const navigate = useNavigate();
 
+  const logout = useCallback(async () => {
+    clearTimeout(inactivityTimeoutRef.current);
+    clearTimeout(tokenExpiryTimeoutRef.current);
+    navigate("/");
+    await supabase.auth.signOut();
+
+    localStorage.removeItem("user");
+    localStorage.removeItem("jwt");
+    localStorage.removeItem("lastActivityTimestamp");
+    setUser(null);
+    userRef.current = null;
+  }, [navigate]);
   useEffect(() => {
-    userRef.current = user?.id || null;
-  }, [user]);
-
-  const login = useCallback(async (email, password) => {
-    try {
-      const { data: supabaseAuthData, error: supabaseAuthError } =
-        await supabase.auth.signInWithPassword({
-          email,
-          password,
-        });
-
-      if (supabaseAuthError) {
-        return { success: false, error: supabaseAuthError.message };
-      }
-
-      if (!supabaseAuthData.session?.access_token) {
-        return {
-          success: false,
-          error: "Failed to retrieve session token from Supabase.",
-        };
-      }
-
-      const backendLoginData = await loginUser({ email });
-
-      if (backendLoginData.success) {
-        setUser(backendLoginData.user);
-
-        return { success: true };
-      } else {
-        await supabase.auth.signOut();
-        return {
-          success: false,
-          error: backendLoginData.message || "Login failed on backend.",
-        };
-      }
-    } catch (err) {
-      console.error("Login error caught in AuthContext:", err);
-      const message =
-        err.response?.data?.message ||
-        err.message ||
-        "An unexpected error occurred during login.";
-      return { success: false, error: message };
-    }
-  }, []);
-
-  const logout = useCallback(async () => {
-    try {
-      setIsLoggingOut(true);
-
-      if (inactivityTimeoutRef.current) {
-        clearTimeout(inactivityTimeoutRef.current);
-        inactivityTimeoutRef.current = null;
-      }
-      if (tokenExpiryTimeoutRef.current) {
-        clearTimeout(tokenExpiryTimeoutRef.current);
-        tokenExpiryTimeoutRef.current = null;
-      }
-      localStorage.removeItem("lastActivityTimestamp");
-      localStorage.removeItem("jwt");
-      localStorage.removeItem("token_exp");
-      localStorage.removeItem("lastResetDate");
-      localStorage.removeItem("user");
-      navigate("/");
-      await supabase.auth.signOut();
-
-      localStorage.setItem("logout", "true");
-      setTimeout(() => localStorage.removeItem("logout"), 1000);
-
-      setUser(null);
-      userRef.current = null;
-
-      setTimeout(() => setIsLoggingOut(false), 500);
-    } catch (error) {
-      console.error("Error during logout:", error);
-      setIsLoggingOut(false);
-    }
-  }, []);
-  const setupTokenExpiryLogout = useCallback(
-    (accessToken) => {
-      if (!accessToken) return;
-
-      const payload = parseJwt(accessToken);
-      if (!payload?.exp) return;
-
-      const now = Math.floor(Date.now() / 1000);
-      const expiresIn = payload.exp - now;
-
-      if (expiresIn <= 0) {
-        console.warn("Token already expired, handling expiration");
-
-        const lastActivity = parseInt(
-          localStorage.getItem("lastActivityTimestamp") || "0",
-          10
-        );
-        const inactiveDuration = Date.now() - lastActivity;
-
-        if (inactiveDuration > INACTIVITY_TIMEOUT) {
+    const checkStaleSession = () => {
+      const storedUser = localStorage.getItem("user");
+      const lastActivity = localStorage.getItem("lastActivityTimestamp");
+
+      if (storedUser && lastActivity) {
+        const inactiveTime = Date.now() - parseInt(lastActivity);
+
+        if (inactiveTime > INACTIVITY_TIMEOUT) {
           logout();
-        } else {
-          supabase.auth
-            .refreshSession()
-            .then(({ data, error }) => {
-              if (error) {
-                console.error("Token refresh failed:", error);
-                logout();
-              } else if (data?.session?.access_token) {
-                localStorage.setItem("jwt", data.session.access_token);
-                setupTokenExpiryLogout(data.session.access_token);
-              }
-            })
-            .catch((err) => {
-              console.error("Refresh failed:", err);
-              logout();
-            });
         }
-      } else {
-        localStorage.setItem("token_exp", payload.exp.toString());
-
-        if (tokenExpiryTimeoutRef.current) {
-          clearTimeout(tokenExpiryTimeoutRef.current);
-        }
-
-        tokenExpiryTimeoutRef.current = setTimeout(() => {
-          setupTokenExpiryLogout(accessToken);
-        }, expiresIn * 1000);
-      }
-    },
-    [logout]
-  );
-
-  const register = useCallback(
-    async (userData) => {
-      try {
-        const backendRegisterData = await registerUser(userData);
-        if (!backendRegisterData.success) {
-          return {
-            success: false,
-            error: backendRegisterData.message,
-            errors: backendRegisterData.errors,
-          };
-        }
-        const { data: supabaseAuthData, error: supabaseAuthError } =
-          await supabase.auth.signInWithPassword({
-            email: userData.email,
-            password: userData.password,
-          });
-        if (supabaseAuthError) {
-          console.error(
-            "Supabase sign-in failed after registration:",
-            supabaseAuthError
-          );
-          return {
-            success: false,
-            error:
-              "Registration successful, but failed to create a session. Please try logging in.",
-          };
-        }
-        setUser(backendRegisterData.user);
-        localStorage.setItem("user", JSON.stringify(backendRegisterData.user));
-        localStorage.setItem("jwt", supabaseAuthData.session.access_token);
-        setupTokenExpiryLogout(supabaseAuthData.session.access_token);
-        return { success: true };
-      } catch (apiError) {
-        console.error("Registration error caught in AuthContext:", apiError);
-        const message =
-          apiError.response?.data?.message ||
-          "An unexpected error occurred during registration.";
-        const errors = apiError.response?.data?.errors || null;
-        return { success: false, error: message, errors: errors };
-      }
-    },
-    [setupTokenExpiryLogout]
-  );
-
+      }
+    };
+
+    checkStaleSession();
+  }, [navigate, INACTIVITY_TIMEOUT]);
   const resetInactivityTimer = useCallback(() => {
-    isActiveRef.current = true;
+    const now = Date.now();
     localStorage.setItem("lastActivityTimestamp", Date.now().toString());
-
-    if (inactivityTimeoutRef.current) {
-      clearTimeout(inactivityTimeoutRef.current);
-    }
-
+    clearTimeout(inactivityTimeoutRef.current);
     if (userRef.current) {
       inactivityTimeoutRef.current = setTimeout(() => {
-        isActiveRef.current = false;
-        console.warn("User inactive, logging out");
+        console.warn("Logged out due to inactivity");
         logout();
       }, INACTIVITY_TIMEOUT);
@@ -245,4 +77,120 @@
   }, [logout]);
 
+  const login = useCallback(
+    async (email, password) => {
+      const { data, error } = await supabase.auth.signInWithPassword({
+        email,
+        password,
+      });
+      if (error || !data.session?.access_token) {
+        return { success: false, error: error?.message || "Login failed" };
+      }
+
+      const backendData = await loginUser({ email });
+      if (!backendData.success) {
+        await supabase.auth.signOut();
+        return { success: false, error: backendData.message };
+      }
+
+      setUser(backendData.user);
+      userRef.current = backendData.user.id;
+      localStorage.setItem("user", JSON.stringify(backendData.user));
+      localStorage.setItem("jwt", data.session.access_token);
+      resetInactivityTimer();
+      return { success: true };
+    },
+    [resetInactivityTimer]
+  );
+
+  const register = useCallback(
+    async (userData) => {
+      const backendResult = await registerUser(userData);
+      if (!backendResult.success) {
+        return {
+          success: false,
+          error: backendResult.message,
+          errors: backendResult.errors,
+        };
+      }
+
+      const { data, error } = await supabase.auth.signInWithPassword({
+        email: userData.email,
+        password: userData.password,
+      });
+
+      if (error || !data.session?.access_token) {
+        return {
+          success: false,
+          error: "Registration succeeded but login failed.",
+        };
+      }
+
+      setUser(backendResult.user);
+      userRef.current = backendResult.user.id;
+      localStorage.setItem("user", JSON.stringify(backendResult.user));
+      localStorage.setItem("jwt", data.session.access_token);
+      resetInactivityTimer();
+
+      return { success: true };
+    },
+    [resetInactivityTimer]
+  );
+
+  useEffect(() => {
+    console.log("Mounted");
+    const localUser = localStorage.getItem("user");
+    if (localUser) {
+      setUser(localUser);
+    }
+    setLoading(true);
+    const { data: authListener } = supabase.auth.onAuthStateChange(
+      async (event, session) => {
+        if (event === "TOKEN_REFRESHED" && session) {
+          const now = Date.now();
+          const readableTime = new Date(now).toLocaleString();
+          console.log(`Token reset at: ${readableTime}`);
+          console.log("Token refreshed, updating JWT in localStorage.");
+          localStorage.setItem("jwt", session.access_token);
+
+          return;
+        }
+        if (session) {
+          const backendData = await loginUser({ email: session.user.email });
+          if (backendData.success) {
+            setUser(backendData.user);
+            userRef.current = backendData.user.id;
+            localStorage.setItem("user", JSON.stringify(backendData.user));
+            localStorage.setItem("jwt", session.access_token);
+            if (event === "INITIAL_SESSION" || event === "SIGNED_IN") {
+              resetInactivityTimer();
+            }
+          } else {
+            await supabase.auth.signOut();
+          }
+        } else {
+          setUser(null);
+          userRef.current = null;
+          localStorage.removeItem("user");
+          localStorage.removeItem("jwt");
+        }
+        setLoading(false);
+      }
+    );
+
+    return () => {
+      authListener.subscription.unsubscribe();
+    };
+  }, []);
+
+  useEffect(() => {
+    const events = ["click", "mousemove", "keydown", "scroll", "touchstart"];
+    const handleActivity = () => resetInactivityTimer();
+    events.forEach((event) => window.addEventListener(event, handleActivity));
+    return () =>
+      events.forEach((event) =>
+        window.removeEventListener(event, handleActivity)
+      );
+  }, [resetInactivityTimer]);
+
   const updateUser = useCallback((newUserData) => {
     setUser(newUserData);
@@ -250,154 +198,13 @@
     localStorage.setItem("user", JSON.stringify(newUserData));
   }, []);
-
-  useEffect(() => {
-    const checkStaleSession = () => {
-      const storedUser = localStorage.getItem("user");
-      const lastActivity = localStorage.getItem("lastActivityTimestamp");
-
-      if (storedUser && lastActivity) {
-        const inactiveTime = Date.now() - parseInt(lastActivity);
-
-        if (inactiveTime > INACTIVITY_TIMEOUT) {
-          logout();
-        }
-      }
-    };
-
-    checkStaleSession();
-  }, [navigate, INACTIVITY_TIMEOUT]);
-
-  useEffect(() => {
-    console.log("AuthContext mounted");
-    const initializeAndVerifyAuth = async () => {
-      try {
-        setIsVerifying(true);
-
-        const storedUserJson = localStorage.getItem("user");
-        if (storedUserJson) {
-          setUser(JSON.parse(storedUserJson));
-        }
-
-        const { data } = await supabase.auth.getSession();
-        const session = data?.session;
-
-        if (session?.user) {
-          const backendLoginData = await loginUser({
-            email: session.user.email,
-          });
-
-          if (backendLoginData.success) {
-            setUser(backendLoginData.user);
-            localStorage.setItem("user", JSON.stringify(backendLoginData.user));
-          } else {
-            logout();
-            return;
-          }
-
-          localStorage.setItem("jwt", session.access_token);
-          setupTokenExpiryLogout(session.access_token);
-        } else if (storedUserJson) {
-          logout();
-        }
-      } catch (error) {
-        console.error("Error initializing/verifying auth:", error);
-        logout();
-      } finally {
-        if (loading) {
-          setLoading(false);
-        }
-        setIsVerifying(false);
-      }
-    };
-
-    initializeAndVerifyAuth();
-
-    const { data: authListener } = supabase.auth.onAuthStateChange(
-      (event, session) => {
-        if (event === "SIGNED_IN" || event === "TOKEN_REFRESHED") {
-          if (session?.user) {
-            initializeAndVerifyAuth();
-          }
-        }
-        // } else if (event === "SIGNED_OUT") {
-        //   logout();
-        // }
-      }
-    );
-
-    const handleVisibilityChange = () => {
-      if (document.visibilityState === "visible") {
-        initializeAndVerifyAuth();
-      }
-    };
-
-    document.addEventListener("visibilitychange", handleVisibilityChange);
-
-    return () => {
-      if (authListener?.subscription) {
-        authListener.subscription.unsubscribe();
-      }
-      document.removeEventListener("visibilitychange", handleVisibilityChange);
-    };
-  }, [logout, setupTokenExpiryLogout]);
-
-  useEffect(() => {
-    if (!user) return;
-
-    const activityEvents = [
-      "mousedown",
-      "mousemove",
-      "keypress",
-      "scroll",
-      "touchstart",
-      "click",
-    ];
-
-    const handleActivity = () => {
-      resetInactivityTimer();
-    };
-
-    activityEvents.forEach((event) => {
-      document.addEventListener(event, handleActivity);
-    });
-
-    resetInactivityTimer();
-
-    return () => {
-      activityEvents.forEach((event) => {
-        document.removeEventListener(event, handleActivity);
-      });
-      if (inactivityTimeoutRef.current) {
-        clearTimeout(inactivityTimeoutRef.current);
-      }
-    };
-  }, [resetInactivityTimer, user]);
-
-  //Sync actions between tabs
-  useEffect(() => {
-    const handleStorageChange = (event) => {
-      if (event.key === "logout" && event.newValue === "true") {
-        logout();
-      }
-    };
-
-    window.addEventListener("storage", handleStorageChange);
-
-    return () => {
-      window.removeEventListener("storage", handleStorageChange);
-    };
-  }, [logout]);
-
   return (
     <AuthContext.Provider
       value={{
         user,
-        loading,
+        login,
         register,
-        login,
         logout,
         resetInactivityTimer,
-        isLoggingOut,
-        isVerifying,
+        loading,
         updateUser,
       }}
Index: client/src/routes/ProtectedRoute.jsx
===================================================================
--- client/src/routes/ProtectedRoute.jsx	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ client/src/routes/ProtectedRoute.jsx	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -5,6 +5,5 @@
   const { user, loading } = useAuth();
   const location = useLocation();
-  const isLogout = localStorage.getItem("logout");
-  console.log(isLogout);
+
   // if (loading) {
   //   return (
Index: client/src/services/apiClient.js
===================================================================
--- client/src/services/apiClient.js	(revision 12803c4f7bc8c17db47d069389361c46a2228099)
+++ client/src/services/apiClient.js	(revision 506e3de48733205c35fd4cacf80862431905d04f)
@@ -9,4 +9,8 @@
 apiClient.interceptors.request.use(
   (config) => {
+    // const token = localStorage.getItem("supabase-auth-token");
+    // const tokenObject = JSON.parse(token);
+    // const accessToken = tokenObject?.access_token;
+    // console.log(accessToken);
     const token = localStorage.getItem("jwt");
     if (token) {
