diff --git a/src/app/(auth)/emulator-guide/page.tsx b/src/app/(auth)/emulator-guide/page.tsx
new file mode 100644
index 0000000..1071c8a
--- /dev/null
+++ b/src/app/(auth)/emulator-guide/page.tsx
@@ -0,0 +1,168 @@
+'use client';
+
+import { useTheme } from "@/contexts/ThemeContext";
+import { ArrowLeftIcon } from "@heroicons/react/24/outline";
+import { useRouter } from "next/navigation";
+import Link from "next/link";
+
+export default function EmulatorGuidePage() {
+ const { currentTheme } = useTheme();
+ const router = useRouter();
+
+ return (
+
+
+
+
+
+ 자동차 관제 에뮬레이터 가이드
+
+
+
+
+ {/* 개요 섹션 */}
+
+ 개요
+
+ 이 에뮬레이터는 실제 차량에 장착하는 관제 장치의 기능을 웹 애플리케이션으로 구현한 소프트웨어입니다.
+ 개발 및 테스트 환경에서 실제 장비 없이도 자동차의 위치와 상태를 효과적으로 시뮬레이션하고 검증할 수 있도록 설계되었습니다.
+
+
+
+ {/* 주요 특징 섹션 */}
+
+ 주요 특징
+
+
+
웹 기반 애플리케이션
+
별도의 설치 없이 웹 브라우저에서 바로 사용할 수 있습니다.
+
+
+
반응형 인터페이스
+
데스크탑, 태블릿, 모바일 등 다양한 기기에서 최적화된 화면을 제공합니다.
+
+
+
다크모드 지원
+
사용자의 환경 및 취향에 맞춰 라이트/다크 테마를 자유롭게 전환할 수 있습니다.
+
+
+
+
+ {/* 제공 모드 섹션 */}
+
+ 제공 모드
+
+ {/* 시뮬레이션 모드 */}
+
+
시뮬레이션 모드
+
+
+
기능 개요
+
+ 미리 제공된 GPX 파일(실제 한국 도로 기반 경로 데이터)을 활용하여 차량의 움직임을 시뮬레이션합니다.
+ 1초마다 GPX 파일에서 위치 정보를 읽어와 실제 차량이 이동하는 것처럼 위치 정보를 갱신합니다.
+
+
+
+
주요 기능
+
+ - GPX 파일을 불러와 경로를 시각적으로 표시
+ - 출발지와 도착지 정보를 명확하게 제공
+ - 실제 도로를 반영한 경로 데이터로 현실감 있는 테스트 가능
+ - 위치 정보가 1초 단위로 자동 갱신되어 실시간과 유사한 테스트 환경 제공
+
+
+
+
+
+ {/* 실시간 모드 */}
+
+
실시간 모드
+
+
+
기능 개요
+
+ GPS 모듈이 장착된 기기를 통해 사용자의 실제 위치 정보를 1초마다 수집하고 누적합니다.
+ 실제 차량, 자전거, 도보 등 다양한 운송수단을 이용한 실시간 테스트가 가능합니다.
+
+
+
+
주요 기능
+
+ - GPS 모듈이 있는 기기에서 1초마다 정확한 위치 정보 수집
+ - 실시간으로 위치 이동 경로를 지도에 표시
+ - 다양한 이동 수단 테스트 지원
+ - 위치 정보 누적 및 이동 경로 기록 기능 제공
+
+
+
+
+
+
+ {/* 추가 기능 섹션 */}
+
+ 추가 제공 기능
+
+
+
GPX 파일 관리
+
+ - 다양한 GPX 파일을 업로드 및 관리 가능
+ - 경로별 테스트 시나리오 저장 및 불러오기 지원
+
+
+
+
로그 및 기록 기능
+
+ - 위치 정보와 이동 경로를 기록
+ - 테스트 결과를 파일로 저장하거나 분석에 활용 가능
+
+
+
+
+
+ {/* 참고 사항 섹션 */}
+
+ 참고 사항
+
+ - 정확한 테스트를 위해 실시간 모드에서는 GPS 모듈이 장착된 장비 사용을 권장합니다.
+ - GPX 파일은 GPS 기반 경로 데이터로, 실제 도로 상황을 반영한 경로 시뮬레이션에 활용됩니다.
+ - IP 기반 위치 추적은 참고용으로만 사용하시고, 실제 서비스 품질 검증에는 GPS 기반 테스트를 권장합니다.
+
+
+
+ {/* 데모 체험하기 버튼 섹션 추가 */}
+
+
+ 지금 바로 WHERE CAR 에뮬레이터를 체험해보세요!
+
+
+
데모 체험하기
+
+
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/app/login/layout.tsx b/src/app/(auth)/login/layout.tsx
similarity index 100%
rename from src/app/login/layout.tsx
rename to src/app/(auth)/login/layout.tsx
diff --git a/src/app/login/page.tsx b/src/app/(auth)/login/page.tsx
similarity index 100%
rename from src/app/login/page.tsx
rename to src/app/(auth)/login/page.tsx
diff --git a/src/app/(auth)/trial/page.tsx b/src/app/(auth)/trial/page.tsx
new file mode 100644
index 0000000..311bfb7
--- /dev/null
+++ b/src/app/(auth)/trial/page.tsx
@@ -0,0 +1,143 @@
+'use client';
+
+import { useTheme } from "@/contexts/ThemeContext";
+import { ArrowLeftIcon } from "@heroicons/react/24/outline";
+import Link from "next/link";
+import { useRouter } from "next/navigation";
+
+export default function TrialPage() {
+ const { currentTheme } = useTheme();
+ const router = useRouter();
+
+ const emulators = [
+ {
+ url: 'https://emulator.where-car.com:8080/dashboard',
+ vehicleId: '01284967350',
+ plateNo: '23마8492',
+ description: '광주 → 무주 경로'
+ },
+ {
+ url: 'https://emulator.where-car.com:8081/dashboard',
+ vehicleId: '09573482619',
+ plateNo: '67다1359',
+ description: '경주 → 서울 경로'
+ },
+ {
+ url: 'https://emulator.where-car.com:8082/dashboard',
+ vehicleId: '03759261845',
+ plateNo: '12고9756',
+ description: '서울 → 경주 경로'
+ },
+ {
+ url: 'https://emulator.where-car.com:8083/dashboard',
+ vehicleId: '07362519840',
+ plateNo: '89버2431',
+ description: '수원 → 대전 → 구미 경로'
+ },
+ {
+ url: 'https://emulator.where-car.com:8084/dashboard',
+ vehicleId: '05829463715',
+ plateNo: '35자7650',
+ description: '양양 → 대구 경로'
+ }
+ ];
+
+ return (
+
+
+
+
+
+ WHERE CAR 체험하기
+
+
+
+
+ {/* 데모 계정 로그인 섹션 */}
+
+ 데모 계정으로 시작하기
+
+ WHERE CAR의 모든 기능을 체험해보세요. 아래 데모 계정으로 로그인하실 수 있습니다.
+
+
+
+ 이메일 주소:
+
+ user@example.com
+
+
+
+ 비밀번호:
+
+ 123
+
+
+
+
+ 로그인하러 가기
+
+
+ {/* 알림 박스를 로그인 버튼 아래로 이동 */}
+
+
+ 💡 에뮬레이터를 통해 실제 차량의 움직임을 시뮬레이션해볼 수 있습니다.
+ 해당 애뮬레이터를 실행하면 where-car.com 관제 페이지에 실시간 추적 데이터가 표시됩니다.
+
+
+
+
+ {/* 에뮬레이터 체험 섹션 */}
+
+ 에뮬레이터 체험하기
+
+ 실제 차량의 이동을 시뮬레이션하는 에뮬레이터를 체험해보세요.
+ 해당 애뮬레이터를 작동하면 where-car.com 관제 페이지에 실시간 추적 데이터가 표시됩니다.
+
+
+ {emulators.map((emulator, index) => (
+
+
+
+
+ 차량 ID:
+ {emulator.vehicleId}
+
+
+ 차량 번호:
+ {emulator.plateNo}
+
+
+
+ ))}
+
+
+
+
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/app/(dashboard)/template.tsx b/src/app/(dashboard)/template.tsx
new file mode 100644
index 0000000..95514f4
--- /dev/null
+++ b/src/app/(dashboard)/template.tsx
@@ -0,0 +1,21 @@
+'use client';
+
+import { useTheme } from "@/contexts/ThemeContext";
+import Sidebar from "@/components/layout/Sidebar";
+
+export default function DashboardTemplate({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ const { currentTheme } = useTheme();
+
+ return (
+
+
+
+ {children}
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/app/layout.tsx b/src/app/layout.tsx
index d5d94e6..e2bbe60 100644
--- a/src/app/layout.tsx
+++ b/src/app/layout.tsx
@@ -2,30 +2,23 @@ import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./globals.css";
import { ThemeProvider } from "@/contexts/ThemeContext";
-import PageLayout from "@/components/layout/PageLayout";
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "WHERE CAR",
- description: "차량 관리 시스템",
+ description: "차량 관제 시스템",
};
export default function RootLayout({
children,
-}: Readonly<{
+}: {
children: React.ReactNode;
-}>) {
+}) {
return (
-
-
-
+ {children}
);
diff --git a/src/app/page.tsx b/src/app/page.tsx
index df61a26..4eac45c 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -163,10 +163,16 @@ export default function HomePage() {
- 무료 체험하기
+ 데모 체험하기
+
+
+ 애뮬레이터 가이드
@@ -407,7 +413,7 @@ export default function HomePage() {
지금 바로 시작하세요
- 14일 무료 체험 기간 동안 WHERE CAR의 모든 기능을 경험해보세요.
+ WHERE CAR의 모든 기능을 경험해보세요.
설치부터 운영까지 전문 컨설턴트가 함께합니다.
+
+
+
+
WHERE CAR
+
+
+
+
+ 로그인
+
+
+ 회원가입
+
+
+
+
+ );
+}
\ No newline at end of file
diff --git a/src/components/layout/SimpleLayout.tsx b/src/components/layout/SimpleLayout.tsx
new file mode 100644
index 0000000..e2b6f2b
--- /dev/null
+++ b/src/components/layout/SimpleLayout.tsx
@@ -0,0 +1,21 @@
+'use client';
+
+import { useTheme } from "@/contexts/ThemeContext";
+import Header from "@/components/layout/Header";
+
+export default function SimpleLayout({
+ children,
+}: {
+ children: React.ReactNode;
+}) {
+ const { currentTheme } = useTheme();
+
+ return (
+
+
+
+ {children}
+
+
+ );
+}
\ No newline at end of file