Index: backend/controllers/forumController.js
===================================================================
--- backend/controllers/forumController.js	(revision 651732b55287b0f7024ade07d408dc90f7f41ccc)
+++ backend/controllers/forumController.js	(revision 1dab13388414be0675f1f8ae2faf70b2696a471b)
@@ -2,8 +2,7 @@
 const ForumPost = require('../models/ForumPost');
 const Comment = require('../models/Comment');
-const Filter = require('bad-words');
-const filter = new Filter();
+const filter = require('leo-profanity');
 const mkProfanity = require('../filters/macedonianProfanity')
-filter.addWords(...mkProfanity);
+filter.add(mkProfanity);
 const safeWords = require('../filters/safeWords');
 
@@ -18,6 +17,7 @@
       authorName,
     });
-
-    if (filter.isProfane(post.content + post.title)) {
+    const isProfane = filter.check(post.content + post.title);
+
+    if (isProfane) {
       console.log("Profanity detected!");
       return res.status(400).json({
@@ -164,6 +164,6 @@
       authorId: authorId,
     });
-
-    if (filter.isProfane(comment.content + post.title) || !(safeWords.includes(comment.content) || safeWords.includes(post.title))) {
+    const profane = filter.check(comment.content);
+    if (profane || !safeWords.includes(comment.content)) {
       console.log("not safe words or profanity detected!");
       return res.status(400).json({
Index: backend/node_modules/.package-lock.json
===================================================================
--- backend/node_modules/.package-lock.json	(revision 651732b55287b0f7024ade07d408dc90f7f41ccc)
+++ backend/node_modules/.package-lock.json	(revision 1dab13388414be0675f1f8ae2faf70b2696a471b)
@@ -129,22 +129,4 @@
         "node": ">= 8"
       }
-    },
-    "node_modules/bad-words": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/bad-words/-/bad-words-4.0.0.tgz",
-      "integrity": "sha512-fLjG/I0N3I7xhurqGnGitSRD10UeEE63a7hyXtutQDpxo4+Eal+i7veWeZxZJPNtsl6X1mUIoWPwt8gQ7NMQUw==",
-      "license": "MIT",
-      "dependencies": {
-        "badwords-list": "^2.0.1-4"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/badwords-list": {
-      "version": "2.0.1-4",
-      "resolved": "https://registry.npmjs.org/badwords-list/-/badwords-list-2.0.1-4.tgz",
-      "integrity": "sha512-FxfZUp7B9yCnesNtFQS9v6PvZdxTYa14Q60JR6vhjdQdWI4naTjJIyx22JzoER8ooeT8SAAKoHLjKfCV7XgYUQ==",
-      "license": "MIT"
     },
     "node_modules/balanced-match": {
@@ -528,4 +510,11 @@
       }
     },
+    "node_modules/french-badwords-list": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/french-badwords-list/-/french-badwords-list-1.0.7.tgz",
+      "integrity": "sha512-H1ziKs2PJh2+UXZ9oCGJ/rRQpsI9NBykGf2Sc7WaKaj1OnWFuBXfsvANTdRcfVmOghGQaUmRyZ1hJOPbDpy04Q==",
+      "license": "MIT",
+      "optional": true
+    },
     "node_modules/fresh": {
       "version": "2.0.0",
@@ -759,4 +748,14 @@
       "license": "MIT"
     },
+    "node_modules/leo-profanity": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/leo-profanity/-/leo-profanity-1.7.0.tgz",
+      "integrity": "sha512-88j1R08jrQzOib9Yxk4nxrzMlrHJi3DzFzAmv0L4APQ+ciGEfJ1rftVEvFjoqL0m+0KGFL3csQGRlxXGnYrA7w==",
+      "license": "MIT",
+      "optionalDependencies": {
+        "french-badwords-list": "^1.0.6",
+        "russian-bad-words": "^0.5.0"
+      }
+    },
     "node_modules/math-intrinsics": {
       "version": "1.1.0",
@@ -1047,4 +1046,14 @@
       "engines": {
         "node": ">= 18"
+      }
+    },
+    "node_modules/russian-bad-words": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/russian-bad-words/-/russian-bad-words-0.5.0.tgz",
+      "integrity": "sha512-euNvEYki6iYYpkNbeudW+lEMMYGEmN7EBwVF8ezlbv0bZoQpVYB7W10cCeUIGV7Ed50sJynLQ0c559q5iI0ejQ==",
+      "license": "MIT",
+      "optional": true,
+      "engines": {
+        "node": ">=10"
       }
     },
Index: backend/package-lock.json
===================================================================
--- backend/package-lock.json	(revision 651732b55287b0f7024ade07d408dc90f7f41ccc)
+++ backend/package-lock.json	(revision 1dab13388414be0675f1f8ae2faf70b2696a471b)
@@ -11,8 +11,8 @@
       "dependencies": {
         "@supabase/supabase-js": "^2.39.7",
-        "bad-words": "^4.0.0",
         "bcrypt": "^6.0.0",
         "dotenv": "^16.5.0",
-        "express": "^5.1.0"
+        "express": "^5.1.0",
+        "leo-profanity": "^1.7.0"
       },
       "devDependencies": {
@@ -144,22 +144,4 @@
         "node": ">= 8"
       }
-    },
-    "node_modules/bad-words": {
-      "version": "4.0.0",
-      "resolved": "https://registry.npmjs.org/bad-words/-/bad-words-4.0.0.tgz",
-      "integrity": "sha512-fLjG/I0N3I7xhurqGnGitSRD10UeEE63a7hyXtutQDpxo4+Eal+i7veWeZxZJPNtsl6X1mUIoWPwt8gQ7NMQUw==",
-      "license": "MIT",
-      "dependencies": {
-        "badwords-list": "^2.0.1-4"
-      },
-      "engines": {
-        "node": ">=8.0.0"
-      }
-    },
-    "node_modules/badwords-list": {
-      "version": "2.0.1-4",
-      "resolved": "https://registry.npmjs.org/badwords-list/-/badwords-list-2.0.1-4.tgz",
-      "integrity": "sha512-FxfZUp7B9yCnesNtFQS9v6PvZdxTYa14Q60JR6vhjdQdWI4naTjJIyx22JzoER8ooeT8SAAKoHLjKfCV7XgYUQ==",
-      "license": "MIT"
     },
     "node_modules/balanced-match": {
@@ -543,4 +525,11 @@
       }
     },
+    "node_modules/french-badwords-list": {
+      "version": "1.0.7",
+      "resolved": "https://registry.npmjs.org/french-badwords-list/-/french-badwords-list-1.0.7.tgz",
+      "integrity": "sha512-H1ziKs2PJh2+UXZ9oCGJ/rRQpsI9NBykGf2Sc7WaKaj1OnWFuBXfsvANTdRcfVmOghGQaUmRyZ1hJOPbDpy04Q==",
+      "license": "MIT",
+      "optional": true
+    },
     "node_modules/fresh": {
       "version": "2.0.0",
@@ -774,4 +763,14 @@
       "license": "MIT"
     },
+    "node_modules/leo-profanity": {
+      "version": "1.7.0",
+      "resolved": "https://registry.npmjs.org/leo-profanity/-/leo-profanity-1.7.0.tgz",
+      "integrity": "sha512-88j1R08jrQzOib9Yxk4nxrzMlrHJi3DzFzAmv0L4APQ+ciGEfJ1rftVEvFjoqL0m+0KGFL3csQGRlxXGnYrA7w==",
+      "license": "MIT",
+      "optionalDependencies": {
+        "french-badwords-list": "^1.0.6",
+        "russian-bad-words": "^0.5.0"
+      }
+    },
     "node_modules/math-intrinsics": {
       "version": "1.1.0",
@@ -1062,4 +1061,14 @@
       "engines": {
         "node": ">= 18"
+      }
+    },
+    "node_modules/russian-bad-words": {
+      "version": "0.5.0",
+      "resolved": "https://registry.npmjs.org/russian-bad-words/-/russian-bad-words-0.5.0.tgz",
+      "integrity": "sha512-euNvEYki6iYYpkNbeudW+lEMMYGEmN7EBwVF8ezlbv0bZoQpVYB7W10cCeUIGV7Ed50sJynLQ0c559q5iI0ejQ==",
+      "license": "MIT",
+      "optional": true,
+      "engines": {
+        "node": ">=10"
       }
     },
Index: backend/package.json
===================================================================
--- backend/package.json	(revision 651732b55287b0f7024ade07d408dc90f7f41ccc)
+++ backend/package.json	(revision 1dab13388414be0675f1f8ae2faf70b2696a471b)
@@ -14,8 +14,8 @@
   "dependencies": {
     "@supabase/supabase-js": "^2.39.7",
-    "bad-words": "^4.0.0",
     "bcrypt": "^6.0.0",
     "dotenv": "^16.5.0",
-    "express": "^5.1.0"
+    "express": "^5.1.0",
+    "leo-profanity": "^1.7.0"
   },
   "devDependencies": {
Index: client/src/LandingPage/LandingPage.jsx
===================================================================
--- client/src/LandingPage/LandingPage.jsx	(revision 651732b55287b0f7024ade07d408dc90f7f41ccc)
+++ client/src/LandingPage/LandingPage.jsx	(revision 1dab13388414be0675f1f8ae2faf70b2696a471b)
@@ -1,17 +1,17 @@
-import React from 'react';
-import Navbar from './components/Navbar';
-import Hero from './components/Hero';
-import VisionSection from './components/VisionSection';
-import LeaderBoardEx from './components/LeaderBoardEx';
-import Footer from './components/Footer';
-import Intro from './components/Intro';
+import React from "react";
+import Hero from "./components/Hero";
+import VisionSection from "./components/VisionSection";
+import Footer from "./components/Footer";
+import Intro from "./components/Intro";
+import NavbarLanding from "./components/NavbarLanding";
+import LeaderLanding from "./components/LeaderLanding";
 const LandingPage = () => {
   return (
     <div data-theme="luxury">
-      <Navbar />
+      <NavbarLanding />
       <Hero />
       <Intro />
       <VisionSection />
-      <LeaderBoardEx />
+      <LeaderLanding />
       <Footer />
     </div>
Index: client/src/LandingPage/components/LeaderLanding.jsx
===================================================================
--- client/src/LandingPage/components/LeaderLanding.jsx	(revision 1dab13388414be0675f1f8ae2faf70b2696a471b)
+++ client/src/LandingPage/components/LeaderLanding.jsx	(revision 1dab13388414be0675f1f8ae2faf70b2696a471b)
@@ -0,0 +1,88 @@
+import React from "react";
+
+const LeaderLanding = () => {
+  return (
+    <div
+      data-theme="luxury"
+      className="dashboard h-screen flex bg-base-100 overflow-none"
+    >
+      <div className="flex w-full flex-col justify-center items-center p-20 gap-10">
+        <h1 className="text-4xl font-bold">Leaderboard</h1>
+        <div className="overflow-x-auto rounded-box border border-base-content/5 bg-base-100 w-1/2">
+          <table className="table">
+            {/* head */}
+            <thead>
+              <tr>
+                <th></th>
+                <th>Name</th>
+                <th>Rank</th>
+                <th>Points</th>
+              </tr>
+            </thead>
+            <tbody>
+              {/* row 1 */}
+              <tr>
+                <th>1</th>
+                <td>John Smith</td>
+                <td>Diamond</td>
+                <td>2500</td>
+              </tr>
+              {/* row 2 */}
+              <tr>
+                <th>2</th>
+                <td>Sarah Johnson</td>
+                <td>Platinum</td>
+                <td>2300</td>
+              </tr>
+              {/* row 3 */}
+              <tr>
+                <th>3</th>
+                <td>Michael Brown</td>
+                <td>Gold</td>
+                <td>2100</td>
+              </tr>
+              {/* row 4 */}
+              <tr>
+                <th>4</th>
+                <td>Emily Davis</td>
+                <td>Silver</td>
+                <td>1900</td>
+              </tr>
+              {/* row 5 */}
+              <tr>
+                <th>5</th>
+                <td>David Wilson</td>
+                <td>Bronze</td>
+                <td>1700</td>
+              </tr>
+              {/* row 6 */}
+              <tr>
+                <th>6</th>
+                <td>Lisa Anderson</td>
+                <td>Bronze</td>
+                <td>1500</td>
+              </tr>
+              {/* row 7 */}
+              <tr>
+                <th>7</th>
+                <td>Robert Taylor</td>
+                <td>Bronze</td>
+                <td>1300</td>
+              </tr>
+              {/* row 8 */}
+              <tr>
+                <th>8</th>
+                <td>Jennifer Martinez</td>
+                <td>Bronze</td>
+                <td>1100</td>
+              </tr>
+            </tbody>
+          </table>
+        </div>
+        <button className="btn btn-lg">Load more</button>
+      </div>
+    </div>
+  );
+};
+
+export default LeaderLanding;
Index: ient/src/LandingPage/components/Navbar.jsx
===================================================================
--- client/src/LandingPage/components/Navbar.jsx	(revision 651732b55287b0f7024ade07d408dc90f7f41ccc)
+++ 	(revision )
@@ -1,35 +1,0 @@
-import React from 'react';
-import logoIcon from '../../assets/images/logoIcon.png';
-import logoText from '../../assets/images/logoText.png';
-import { useNavigate } from 'react-router-dom';
-const Navbar = () => {
-  const user = JSON.parse(localStorage.getItem('user'));
-  const navigate = useNavigate();
-  const handleRegisterClick = () => {
-    navigate('/register');
-  };
-  return (
-    <div className="navbar bg-base-100 shadow-sm justify-between p-6">
-      <div className="navbar-start ml-10">
-        <a className="btn btn-ghost">
-          <img src={logoIcon} alt="Logo" className="h-10 w-auto" />
-          <img src={logoText} alt="Logo" className="h-10 w-auto" />
-        </a>
-      </div>
-      <div className="navbar-end mr-10">
-        {!user && (
-          <button className="btn btn-lg" onClick={handleRegisterClick}>
-            Register
-          </button>
-        )}
-        {user && (
-          <button className="btn btn-lg" onClick={() => navigate('/dashboard')}>
-            {user.username}
-          </button>
-        )}
-      </div>
-    </div>
-  );
-};
-
-export default Navbar;
Index: client/src/LandingPage/components/NavbarLanding.jsx
===================================================================
--- client/src/LandingPage/components/NavbarLanding.jsx	(revision 1dab13388414be0675f1f8ae2faf70b2696a471b)
+++ client/src/LandingPage/components/NavbarLanding.jsx	(revision 1dab13388414be0675f1f8ae2faf70b2696a471b)
@@ -0,0 +1,35 @@
+import React from "react";
+import logoIcon from "../../assets/images/logoIcon.png";
+import logoText from "../../assets/images/logoText.png";
+import { useNavigate } from "react-router-dom";
+const NavbarLanding = () => {
+  const user = JSON.parse(localStorage.getItem("user"));
+  const navigate = useNavigate();
+  const handleRegisterClick = () => {
+    navigate("/register");
+  };
+  return (
+    <div className="navbar bg-base-100 shadow-sm justify-between p-6">
+      <div className="navbar-start ml-10">
+        <a className="btn btn-ghost">
+          <img src={logoIcon} alt="Logo" className="h-10 w-auto" />
+          <img src={logoText} alt="Logo" className="h-10 w-auto" />
+        </a>
+      </div>
+      <div className="navbar-end mr-10">
+        {!user && (
+          <button className="btn btn-lg" onClick={handleRegisterClick}>
+            Register
+          </button>
+        )}
+        {user && (
+          <button className="btn btn-lg" onClick={() => navigate("/dashboard")}>
+            {user.username}
+          </button>
+        )}
+      </div>
+    </div>
+  );
+};
+
+export default NavbarLanding;
