diff --git a/client/src/App.jsx b/client/src/App.jsx
index e771759..a309540 100644
--- a/client/src/App.jsx
+++ b/client/src/App.jsx
@@ -14,7 +14,8 @@ import Register from "./pages/public/Register";
import ForgotPassword from "./pages/public/ForgotPassword";
import Contact from "./pages/public/Contact";
import CommunityGuidelines from "./pages/public/CommunityGuidelines";
-import FaqPage from './pages/public/FaqPage';
+import FaqPage from "./pages/public/FaqPage";
+import About from "./pages/public/About"; // ⭐ Added About import
import Algorithms from "./pages/algorithms/Algorithms";
import AlgorithmDetail from "./pages/algorithms/AlgorithmDetails";
@@ -73,54 +74,21 @@ const router = createBrowserRouter([
path: "/",
element: ,
children: [
- {
- index: true,
- element: ,
- },
- {
- path: "contact",
- element: ,
- },
- {
- path: "feedback",
- element: ,
- },
- {
- path: "moreinfo/:platform",
- element: ,
- },
- {
- path: "profile/:username",
- element: ,
- },
- {
- path: "algorithms",
- element: ,
- },
- {
- path: "algorithms/:slug",
- element: ,
- },
- {
- path: "algorithms/proposals/new",
- element: ,
- },
- {
- path: "algorithms/proposals/:slug/edit",
- element: ,
- },
- {
- path: "algorithms/:slug/contribute",
- element: ,
- },
- {
- path: "data-structures",
- element: ,
- },
- {
- path: "data-structures/:slug",
- element: ,
- },
+ { index: true, element: },
+ { path: "about", element: }, // ⭐ Added About route
+ { path: "contact", element: },
+ { path: "feedback", element: },
+ { path: "moreinfo/:platform", element: },
+ { path: "profile/:username", element: },
+
+ { path: "algorithms", element: },
+ { path: "algorithms/:slug", element: },
+ { path: "algorithms/proposals/new", element: },
+ { path: "algorithms/proposals/:slug/edit", element: },
+ { path: "algorithms/:slug/contribute", element: },
+
+ { path: "data-structures", element: },
+ { path: "data-structures/:slug", element: },
{
path: "data-structures/proposals/new",
element: ,
@@ -129,22 +97,13 @@ const router = createBrowserRouter([
path: "data-structures/proposals/:slug/edit",
element: ,
},
- {
- path: "proposals",
- element: ,
- },
- {
- path: "community-guidelines",
- element: ,
- },
- {
- path: "problem-sheets",
- element: ,
- },
- {
- path: "problem-sheets/:sheetId",
- element: ,
- },
+
+ { path: "proposals", element: },
+ { path: "community-guidelines", element: },
+
+ { path: "problem-sheets", element: },
+ { path: "problem-sheets/:sheetId", element: },
+
{
path: "admin/manage-algorithms",
element: (
@@ -217,30 +176,13 @@ const router = createBrowserRouter([
),
},
- {
- path: "faq",
- element: ,
- },
- {
- path: "blogs",
- element: ,
- },
- {
- path: "blogs/new",
- element: ,
- },
- {
- path: "my-posts",
- element: ,
- },
- {
- path: "blogs/:slug",
- element: ,
- },
- {
- path: "blogs/:slug/edit",
- element: ,
- },
+
+ { path: "faq", element: },
+ { path: "blogs", element: },
+ { path: "blogs/new", element: },
+ { path: "my-posts", element: },
+ { path: "blogs/:slug", element: },
+ { path: "blogs/:slug/edit", element: },
{
path: "admin/blogs/review",
element: (
@@ -258,9 +200,7 @@ function App() {
const dispatch = useDispatch();
useEffect(() => {
- // Initialize theme on app startup
const storedTheme = localStorage.getItem("theme") || "light";
- // console.log("Initializing theme with:", storedTheme);
dispatch(setTheme(storedTheme));
const fetchUser = async () => {
@@ -313,4 +253,4 @@ function App() {
);
}
-export default App;
\ No newline at end of file
+export default App;
diff --git a/client/src/pages/public/About.jsx b/client/src/pages/public/About.jsx
new file mode 100644
index 0000000..f3f7efd
--- /dev/null
+++ b/client/src/pages/public/About.jsx
@@ -0,0 +1,122 @@
+import React from "react";
+import {
+ FaCode,
+ FaUsersCog,
+ FaLightbulb,
+ FaChartLine,
+ FaLayerGroup,
+ FaCheckCircle,
+ FaRocket,
+} from "react-icons/fa";
+
+const About = () => {
+ return (
+
+ {/* Hero Section */}
+
+
+ A Platform Built for{" "}
+
+ Every Developer’s DSA Journey
+
+
+
+
+ SDEverse brings together DSA concepts, interactive learning,
+ multi-language coding, interview preparation, and proposal workflows —
+ everything you need to grow as a Software Development Engineer in one
+ unified platform.
+
+
+
+ {/* Features Section */}
+
+
+ Why Developers Love SDEverse
+
+
+
+ {[
+ {
+ icon:
,
+ title: "Structured DSA Content",
+ desc: "Topic-wise learning flow aligned with interview expectations and fundamentals.",
+ },
+ {
+ icon:
,
+ title: "Multi-Language Code",
+ desc: "Switch between C++, Java, Python & JavaScript effortlessly while studying.",
+ },
+ {
+ icon:
,
+ title: "Visual Intuition",
+ desc: "Understand concepts deeply with visual explanations — not just memorization.",
+ },
+ {
+ icon:
,
+ title: "Community-Driven",
+ desc: "Designed for contributions — developers help improve SDEverse together.",
+ },
+ {
+ icon:
,
+ title: "Growth & Practice",
+ desc: "Sheets, bookmarks & topic progress help track improvement over time.",
+ },
+ {
+ icon:
,
+ title: "Single Source of Truth",
+ desc: "No more hopping between videos, notes & repos — everything in one place.",
+ },
+ ].map((feature, i) => (
+
+
{feature.icon}
+
{feature.title}
+
{feature.desc}
+
+ ))}
+
+
+
+ {/* Proposal Workflow */}
+
+
+ Proposal Workflow & Contribution Flow
+
+
+
+ {[
+ "Contributor shares an idea or topic they want to work on.",
+ "Proposal is added to workflow sheet with topic and language details.",
+ "Maintainers review and approve the proposal with suggestions.",
+ "Contributor implements approved content according to guidelines.",
+ "Final review → merged into SDEverse 🚀",
+ ].map((step, i) => (
+ -
+
+ {step}
+
+ ))}
+
+
+
+ {/* Vision Section */}
+
+ Our Vision
+
+ To become the most trusted platform for every aspiring Software
+ Development Engineer — where learning, practicing and contributing live
+ together in one ecosystem.
+
+
+
+
+
+
+
+ );
+};
+
+export default About;