diff --git a/app/(main)/my-page/page.tsx b/app/(main)/my-page/page.tsx
new file mode 100644
index 0000000..093738e
--- /dev/null
+++ b/app/(main)/my-page/page.tsx
@@ -0,0 +1,5 @@
+import MyPage from "@/components/features/my-page/MyPage";
+
+export default function Page() {
+ return ;
+}
diff --git a/components/features/my-page/MyPage.tsx b/components/features/my-page/MyPage.tsx
new file mode 100644
index 0000000..b69e580
--- /dev/null
+++ b/components/features/my-page/MyPage.tsx
@@ -0,0 +1,85 @@
+"use client";
+
+import Link from "next/link";
+import { ChevronRight } from "lucide-react";
+import { Skeleton } from "@/components/ui/skeleton";
+
+function SectionHeader({ title, href }: { title: string; href?: string }) {
+ return (
+
+
{title}
+ {href && (
+
+ 전체 보기
+
+
+ )}
+
+ );
+}
+
+function SkeletonCards({ count = 4 }: { count?: number }) {
+ return (
+
+ {Array.from({ length: count }).map((_, i) => (
+
+ ))}
+
+ );
+}
+
+export default function MyPage() {
+ return (
+
+
+
+ 마이페이지
+
+
+ 내 학습 현황과 추천 콘텐츠를 한눈에 확인해 보세요.
+
+
+
+ {/* 1. 로드맵 */}
+
+
+ {/* 2. 스크랩한 글들 */}
+
+
+ {/* 3. 틀린 퀴즈들 */}
+
+
+ {/* 4. 추천 */}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/components/layout/TopNavVariant.tsx b/components/layout/TopNavVariant.tsx
index 1765191..ce7ee1c 100644
--- a/components/layout/TopNavVariant.tsx
+++ b/components/layout/TopNavVariant.tsx
@@ -13,6 +13,7 @@ import {
Flame,
BookOpen,
Briefcase,
+ LayoutDashboard,
type LucideIcon,
} from "lucide-react";
import { Avatar, AvatarFallback, AvatarImage } from "@/components/ui/avatar";
@@ -57,6 +58,7 @@ const ALL_NAV_ITEMS: { href: string; label: string; icon: LucideIcon }[] = [
{ href: "/trends", label: "트렌드", icon: Flame },
{ href: "/history", label: "히스토리", icon: BookOpen },
{ href: "/report", label: "리포트", icon: TrendingUp },
+ { href: "/my-page", label: "마이페이지", icon: LayoutDashboard },
];
const NAV_ITEMS = ALL_NAV_ITEMS.filter(