Index: backend/controllers/apiController.js
===================================================================
--- backend/controllers/apiController.js	(revision 1c696c956d64b855435f316454012b908e81216f)
+++ backend/controllers/apiController.js	(revision 2db3b645437625f6d4676b1dc2c1146d7762826f)
@@ -20,4 +20,5 @@
           password,
           user_metadata: { username, name },
+          email_confirm: true,
         });
 
@@ -79,5 +80,14 @@
   }
 }
-
+function convertBigIntToString(obj) {
+  if (Array.isArray(obj)) {
+    return obj.map(convertBigIntToString);
+  } else if (obj && typeof obj === 'object') {
+    return Object.fromEntries(
+      Object.entries(obj).map(([k, v]) => [k, typeof v === 'bigint' ? v.toString() : convertBigIntToString(v)])
+    );
+  }
+  return obj;
+}
 const loginPOST = async (req, res) => {
   try {
@@ -110,7 +120,10 @@
       }
 
+      // Convert BigInt fields to string
+      const safeUserData = convertBigIntToString(userData);
+
       res
         .status(200)
-        .json({ message: 'Login successful', success: true, user: userData });
+        .json({ message: 'Login successful', success: true, user: safeUserData });
     } catch (dbError) {
       console.error('Database error:', dbError);
Index: client/src/Dashboard/components/Forum.jsx
===================================================================
--- client/src/Dashboard/components/Forum.jsx	(revision 1c696c956d64b855435f316454012b908e81216f)
+++ client/src/Dashboard/components/Forum.jsx	(revision 2db3b645437625f6d4676b1dc2c1146d7762826f)
@@ -1,7 +1,7 @@
-import React, { useState, useEffect } from 'react';
-import { useNavigate } from 'react-router-dom';
-import commentIcon from '../../assets/images/comment.svg';
-import trashIcon from '../../assets/images/delete.svg'; // Add this import
-import Navbar from './Navbar';
+import React, { useState, useEffect } from "react";
+import { useNavigate } from "react-router-dom";
+import commentIcon from "../../assets/images/comment.svg";
+import trashIcon from "../../assets/images/delete.svg"; // Add this import
+import Navbar from "./Navbar";
 const Forum = () => {
   const navigate = useNavigate();
@@ -10,5 +10,5 @@
   const [hasMore, setHasMore] = useState(true);
   const postsPerPage = 5;
-  const user = JSON.parse(localStorage.getItem('user'));
+  const user = JSON.parse(localStorage.getItem("user"));
 
   useEffect(() => {
@@ -27,5 +27,5 @@
       if (page === 0) {
         setPosts(data);
-        console.log('Fetched posts:', data);
+        console.log("Fetched posts:", data);
       } else {
         setPosts((prevPosts) => [...prevPosts, ...data]);
@@ -35,5 +35,5 @@
       }
     } catch (error) {
-      console.error('Error fetching forum posts:', error);
+      console.error("Error fetching forum posts:", error);
     }
   };
@@ -42,7 +42,7 @@
     try {
       const response = await fetch(`/forum/posts/${postId}`, {
-        method: 'DELETE',
+        method: "DELETE",
         headers: {
-          'Content-Type': 'application/json',
+          "Content-Type": "application/json",
         },
       });
@@ -51,7 +51,7 @@
       }
       setPosts((prevPosts) => prevPosts.filter((post) => post.id !== postId));
-      console.log('Post deleted successfully');
+      console.log("Post deleted successfully");
     } catch (error) {
-      console.error('Error deleting post:', error);
+      console.error("Error deleting post:", error);
     }
   };
@@ -78,5 +78,6 @@
               >
                 {(post.authorName === user.name ||
-                  post.authorName === user.username) && (
+                  post.authorName === user.username ||
+                  user.isModerator) && (
                   <button
                     className=" absolute top-2 right-2 p-1.5 cursor-pointer rounded-full hover:bg-gray-600 transition-colors"
@@ -85,5 +86,5 @@
                       if (
                         window.confirm(
-                          'Are you sure you want to delete this post?'
+                          "Are you sure you want to delete this post?"
                         )
                       ) {
@@ -100,5 +101,5 @@
                     className="text-3xl font-semibold mb-2 cursor-pointer hover:underline"
                     onClick={() => {
-                      console.log('Post clicked:', post);
+                      console.log("Post clicked:", post);
                       navigate(`/dashboard/forum-detail/${post.id}`, {
                         state: { post },
@@ -111,10 +112,10 @@
 
                 <p className="text-m text-gray-500">
-                  By {post.authorName},{' '}
-                  <span>{post.dateCreated.split('T')[0]}</span>
+                  By {post.authorName},{" "}
+                  <span>{post.dateCreated.split("T")[0]}</span>
                 </p>
                 <p className="mt-2 text-gray-400 text-xl">
                   {post.content && post.content.length > 300
-                    ? post.content.slice(0, 300) + '...'
+                    ? post.content.slice(0, 300) + "..."
                     : post.content}
                 </p>
@@ -124,6 +125,6 @@
                     // Prevent clicking the post if the delete button was clicked
                     if (
-                      e.target.closest('.delete-btn') ||
-                      e.target.classList.contains('delete-btn')
+                      e.target.closest(".delete-btn") ||
+                      e.target.classList.contains("delete-btn")
                     ) {
                       e.stopPropagation();
@@ -157,5 +158,5 @@
             <button
               onClick={() => {
-                navigate('/dashboard/create-post');
+                navigate("/dashboard/create-post");
               }}
               className="cursor-pointer px-6 py-3 bg-yellow-500 text-black rounded hover:bg-yellow-600"
Index: client/src/Dashboard/components/ForumPostDetail.jsx
===================================================================
--- client/src/Dashboard/components/ForumPostDetail.jsx	(revision 1c696c956d64b855435f316454012b908e81216f)
+++ client/src/Dashboard/components/ForumPostDetail.jsx	(revision 2db3b645437625f6d4676b1dc2c1146d7762826f)
@@ -1,6 +1,6 @@
-import React, { useEffect, useState } from 'react';
-import trashIcon from '../../assets/images/delete.svg';
-import Navbar from './Navbar';
-import { useParams, useNavigate, useLocation } from 'react-router-dom';
+import React, { useEffect, useState } from "react";
+import trashIcon from "../../assets/images/delete.svg";
+import Navbar from "./Navbar";
+import { useParams, useNavigate, useLocation } from "react-router-dom";
 
 const ForumPostDetail = () => {
@@ -8,10 +8,10 @@
   const [loading, setLoading] = useState(true);
   const [error, setError] = useState(null);
-  const [commentText, setCommentText] = useState('');
+  const [commentText, setCommentText] = useState("");
   const location = useLocation();
   const statePost = useState(location.state?.post || {});
   const post = statePost[0];
   const [posting, setPosting] = useState(false);
-  const user = JSON.parse(localStorage.getItem('user'));
+  const user = JSON.parse(localStorage.getItem("user"));
   const navigate = useNavigate();
   const { postId } = useParams();
@@ -23,5 +23,5 @@
     fetch(`/forum/comments?post_id=${postId}`)
       .then((res) => {
-        if (!res.ok) throw new Error('Failed to fetch comments');
+        if (!res.ok) throw new Error("Failed to fetch comments");
         return res.json();
       })
@@ -38,7 +38,7 @@
     try {
       const response = await fetch(`/forum/comments/${commentId}`, {
-        method: 'DELETE',
+        method: "DELETE",
         headers: {
-          'Content-Type': 'application/json',
+          "Content-Type": "application/json",
         },
       });
@@ -50,7 +50,7 @@
         prevComments.filter((comment) => comment.id !== commentId)
       );
-      console.log('Post deleted successfully');
+      console.log("Post deleted successfully");
     } catch (error) {
-      console.error('Error deleting post:', error);
+      console.error("Error deleting post:", error);
     }
   };
@@ -60,10 +60,10 @@
     setPosting(true);
     setError(null);
-    const user = JSON.parse(localStorage.getItem('user'));
+    const user = JSON.parse(localStorage.getItem("user"));
 
     try {
-      const response = await fetch('/forum/comments', {
-        method: 'POST',
-        headers: { 'Content-Type': 'application/json' },
+      const response = await fetch("/forum/comments", {
+        method: "POST",
+        headers: { "Content-Type": "application/json" },
         body: JSON.stringify({
           post_id: postId,
@@ -75,7 +75,7 @@
       if (!response.ok) {
         const errData = await response.json();
-        throw new Error(errData.error || 'Failed to post comment');
+        throw new Error(errData.error || "Failed to post comment");
       }
-      setCommentText('');
+      setCommentText("");
       // Refresh comments
       fetch(`/forum/comments?post_id=${post.id}`)
@@ -101,5 +101,5 @@
           <button
             className="btn btn-ghost mb-4"
-            onClick={() => navigate('/dashboard/forum')}
+            onClick={() => navigate("/dashboard/forum")}
           >
             ← Back to Forum
@@ -139,5 +139,5 @@
                   disabled={posting || !commentText.trim()}
                 >
-                  {posting ? 'Posting...' : 'Post Comment'}
+                  {posting ? "Posting..." : "Post Comment"}
                 </button>
               </div>
@@ -161,5 +161,6 @@
                         >
                           <div className="flex relative items-center gap-2 mb-1">
-                            {comment.authorId === user.id && (
+                            {(comment.authorId === user.id ||
+                              user.isModerator) && (
                               <button
                                 className=" absolute top-2 right-2 p-1.5 cursor-pointer rounded-full hover:bg-gray-600 transition-colors"
@@ -169,9 +170,9 @@
                                   if (
                                     window.confirm(
-                                      'Are you sure you want to delete this comment?'
+                                      "Are you sure you want to delete this comment?"
                                     )
                                   ) {
                                     // Call your delete comment function here
-                                    console.log('Delete comment:', comment.id);
+                                    console.log("Delete comment:", comment.id);
                                   }
                                   handleDeleteComment(comment.id);
@@ -191,5 +192,5 @@
                               {comment.dateCreated
                                 ? new Date(comment.dateCreated).toLocaleString()
-                                : ''}
+                                : ""}
                             </span>
                           </div>
Index: client/src/Dashboard/components/Navbar.jsx
===================================================================
--- client/src/Dashboard/components/Navbar.jsx	(revision 1c696c956d64b855435f316454012b908e81216f)
+++ client/src/Dashboard/components/Navbar.jsx	(revision 2db3b645437625f6d4676b1dc2c1146d7762826f)
@@ -1,10 +1,10 @@
-import React, { useState, useEffect } from 'react';
-import { useNavigate } from 'react-router-dom';
-import logoIcon from '../../assets/images/logoIcon.png';
-import logoText from '../../assets/images/logoText.png';
-import pp from '../../assets/images/pp.svg';
+import React, { useState, useEffect } from "react";
+import { useNavigate } from "react-router-dom";
+import logoIcon from "../../assets/images/logoIcon.png";
+import logoText from "../../assets/images/logoText.png";
+import pp from "../../assets/images/pp.svg";
 
 export default function Navbar() {
-  const user = JSON.parse(localStorage.getItem('user'));
+  const user = JSON.parse(localStorage.getItem("user"));
   const navigate = useNavigate();
   return (
@@ -22,5 +22,5 @@
             <button
               className={`flex items-center gap-4 px-4 py-3 hover:bg-[#FFB800] hover:text-black rounded-lg transition-colors `}
-              onClick={() => navigate('/dashboard')}
+              onClick={() => navigate("/dashboard")}
             >
               <svg
@@ -40,5 +40,5 @@
             <button
               className={`flex items-center gap-4 px-4 py-3 hover:bg-[#FFB800] hover:text-black rounded-lg transition-colors`}
-              onClick={() => navigate('/dashboard/leaderboard')}
+              onClick={() => navigate("/dashboard/leaderboard")}
             >
               <svg
@@ -58,5 +58,5 @@
             <button
               className={`flex items-center gap-4 px-4 py-3 hover:bg-[#FFB800] hover:text-black rounded-lg transition-colors`}
-              onClick={() => navigate('/dashboard/forum')}
+              onClick={() => navigate("/dashboard/forum")}
             >
               <svg
@@ -76,4 +76,28 @@
             </button>
           </li>
+          {user.isModerator && (
+            <li>
+              <button
+                className={`flex items-center gap-4 px-4 py-3 hover:bg-[#FFB800] hover:text-black rounded-lg transition-colors`}
+                onClick={() => navigate("/dashboard/forum")}
+              >
+                <svg
+                  xmlns="http://www.w3.org/2000/svg"
+                  className="w-5 h-5"
+                  viewBox="0 0 24 24"
+                  fill="none"
+                  stroke="currentColor"
+                  strokeWidth="2"
+                >
+                  <rect x="3" y="3" width="18" height="18" rx="2" ry="2"></rect>
+                  <line x1="3" y1="9" x2="21" y2="9"></line>
+                  <line x1="3" y1="15" x2="21" y2="15"></line>
+                  <line x1="9" y1="3" x2="9" y2="21"></line>
+                  <line x1="15" y1="3" x2="15" y2="21"></line>
+                </svg>
+                Manage Posts
+              </button>
+            </li>
+          )}
         </ul>
       </div>
@@ -88,5 +112,8 @@
             className="w-10 h-10 rounded-full border-2 border-base-content/10"
           />
-          <div className="flex flex-col items-start">
+          <div
+            className="flex flex-col items-start"
+            onClick={() => navigate("/dashboard/profile")}
+          >
             <span className="font-medium text-left">{user.name}</span>
             <span className="text-sm text-base-content/70">{user.rank}</span>
Index: client/src/Dashboard/components/Profile.jsx
===================================================================
--- client/src/Dashboard/components/Profile.jsx	(revision 1c696c956d64b855435f316454012b908e81216f)
+++ client/src/Dashboard/components/Profile.jsx	(revision 2db3b645437625f6d4676b1dc2c1146d7762826f)
@@ -1,15 +1,16 @@
 // Example for Profile.jsx
-import React from 'react';
-import pp from '../../assets/images/pp.svg';
+import React from "react";
+import pp from "../../assets/images/pp.svg";
+import Navbar from "./Navbar";
 
 const Profile = () => {
   const handleSignOut = () => {
-    localStorage.removeItem('user');
-    window.location.href = '/';
+    localStorage.removeItem("user");
+    window.location.href = "/";
   };
-  const user = JSON.parse(localStorage.getItem('user'));
-  console.log('User data:', user);
+  const user = JSON.parse(localStorage.getItem("user"));
+  console.log("User data:", user);
   if (!user) {
-    console.error('No user data found in localStorage.');
+    console.error("No user data found in localStorage.");
   }
   return (
@@ -21,5 +22,5 @@
       <div
         data-theme="luxury"
-        className="flex flex-col items-center p-6 bg-base-200"
+        className="w-full flex flex-col items-center p-6 bg-base-200"
       >
         <div className="card w-full max-w-md bg-base-100 shadow-xl">
