diff --git a/README.md b/README.md
index a99f4be..932eaf4 100644
--- a/README.md
+++ b/README.md
@@ -1,2 +1,5 @@
-# boost-docs
-대학생을 위한 팀 프로젝트 매니저 Boost 개발 문서 사이트
\ No newline at end of file
+
+
+
+ Boost Development Docs
+
+
+
+ Boost 프로젝트 개발 문서에 오신 것을 환영합니다.
+ 현재 디자인은 임시이며, 더 예쁘고 완성도 있게 개선될
+ 예정입니다!
+
+
+
+
+ 시작하려면 아래 버튼을 클릭하세요.
+
+
+ 문서 보러가기
+
+
+
+
+ );
+};
+
+export default MainHero;
diff --git a/src/features/main/components/MainNavigation.tsx b/src/features/main/components/MainNavigation.tsx
new file mode 100644
index 0000000..d3e11f7
--- /dev/null
+++ b/src/features/main/components/MainNavigation.tsx
@@ -0,0 +1,94 @@
+import { Button } from "@/shared/components/shadcn/button";
+import { Menu, X } from "lucide-react";
+import { useState } from "react";
+
+const navItems = [
+ { label: "Home", href: "#home" },
+ { label: "About Docs", href: "#about-docs" },
+ // { label: "Quick Search", href: "#quick-search" },
+ // { label: "Help", href: "#help" },
+];
+
+const MainNavigation = () => {
+ const [isOpen, setIsOpen] = useState(false);
+
+ const handleNavClick = (href: string) => {
+ const el = document.querySelector(href);
+ if (el) {
+ el.scrollIntoView({ behavior: "smooth" });
+ }
+ setIsOpen(false);
+ };
+
+ return (
+
+
+
+ BOOST Dev Docs
+
+
+
+
+
+ {
+ window.open("https://boost.ai.kr", "_blank");
+ }}
+ >
+ BOOST 서비스로 이동
+
+
+
+
setIsOpen(!isOpen)}
+ >
+ {isOpen ? : }
+
+
+
+ {isOpen && (
+
+ {navItems.map((item) => (
+ handleNavClick(item.href)}
+ className="text-gray-700 hover:text-boost-blue text-lg transition w-full"
+ >
+ {item.label}
+
+ ))}
+
+ {
+ setIsOpen(false);
+ window.open("https://boost.ai.kr", "_blank");
+ }}
+ variant="boostBlue"
+ className="w-full"
+ >
+ BOOST 서비스로 이동
+
+
+ )}
+
+ );
+};
+
+export default MainNavigation;
diff --git a/src/features/main/constants/mainConstants.ts b/src/features/main/constants/mainConstants.ts
new file mode 100644
index 0000000..e8f005d
--- /dev/null
+++ b/src/features/main/constants/mainConstants.ts
@@ -0,0 +1,45 @@
+import {
+ Book,
+ BookOpen,
+ Settings,
+ LaptopMinimal,
+ Server,
+ CloudUpload,
+} from "lucide-react";
+
+export const contentSections = [
+ {
+ title: "프로젝트 개요",
+ icon: Book,
+ description: "프로젝트의 기본 목적, 구조, 팀 구성 및 리소스를 소개합니다.",
+ },
+ {
+ title: "온보딩 가이드",
+ icon: BookOpen,
+ description:
+ "환경 세팅부터 실행, 기본 구조까지 전체 온보딩 절차를 안내합니다.",
+ },
+ {
+ title: "개발 가이드",
+ icon: Settings,
+ description:
+ "작업 흐름, Git 규칙, 코드 리뷰 기준 등 개발팀 운영 기준을 담고 있습니다.",
+ },
+ {
+ title: "프론트엔드 문서",
+ icon: LaptopMinimal,
+ description:
+ "FE 설계, 기술 스택 선정, 디자인 시스템 및 주요 이슈 해결 과정을 제공합니다.",
+ },
+ {
+ title: "백엔드 문서",
+ icon: Server,
+ description:
+ "백엔드 아키텍처, ERD, 개발 중 발생한 주요 이슈 해결 과정을 제공합니다.",
+ },
+ {
+ title: "배포 프로세스",
+ icon: CloudUpload,
+ description: "CI/CD 기반의 자동 배포 구조 및 배포 환경 구성을 안내합니다.",
+ },
+];
diff --git a/src/pages/MainPage.tsx b/src/pages/MainPage.tsx
index 74c10a5..510752c 100644
--- a/src/pages/MainPage.tsx
+++ b/src/pages/MainPage.tsx
@@ -1,25 +1,15 @@
-import { useNavigate } from "react-router-dom";
-import { ROUTE_PATH } from "@/app/routes/routeConstants";
-import { Button } from "@/shared/components/shadcn/button";
+import MainNavigation from "@/features/main/components/MainNavigation";
+import MainHero from "@/features/main/components/MainHero";
+import MainAboutDocs from "@/features/main/components/MainAboutDocs";
+import MainFooter from "@/features/main/components/MainFooter";
const MainPage = () => {
- const navigate = useNavigate();
-
- const goToOverview = () => {
- navigate(ROUTE_PATH.OVERVIEW_PROJECT_OVERVIEW);
- };
-
return (
-
-
Welcome to Boost Development Docs
-
디자인은 임시 구현입니다. 수정될 예정!
-
-
- 시작하려면 아래 버튼을 클릭하세요.
-
-
- 문서 페이지로 이동
-
+
+
+
+
+
);
};
diff --git a/src/shared/components/shadcn/card.tsx b/src/shared/components/shadcn/card.tsx
new file mode 100644
index 0000000..7703fdc
--- /dev/null
+++ b/src/shared/components/shadcn/card.tsx
@@ -0,0 +1,92 @@
+import * as React from "react"
+
+import { cn } from "@/shared/lib/utils"
+
+function Card({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardHeader({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardTitle({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardDescription({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardAction({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardContent({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+function CardFooter({ className, ...props }: React.ComponentProps<"div">) {
+ return (
+
+ )
+}
+
+export {
+ Card,
+ CardHeader,
+ CardFooter,
+ CardTitle,
+ CardAction,
+ CardDescription,
+ CardContent,
+}