Appearance
페이지 및 라우트
앱의 주요 라우트와 페이지 구성을 정리합니다. (apps/web-ui/src/router/index.ts 기준)
사용자(공개) 라우트
| 경로 | 이름 | 페이지 | 설명 |
|---|---|---|---|
/ | home | HomePage.vue | 홈 (기능 카드 목록, 로그인/회원가입 모달, 배너, 공지 팝업) |
/setup | setup | SetupPage.vue | 설치 마법사 (미설치 시 자동 진입) |
/my-info | my-info | MyInfoPage.vue | 마이페이지 (로그인 필요) |
/privacy | privacy | PrivacyPage.vue | 개인정보처리방침 |
/changelog | changelog | ChangelogPage.vue | 변경 내역 |
/help | help | HelpPage.vue | 도움말 |
/notice | notice | NoticePage.vue | 공지사항 목록 |
/notice/:id | notice-detail | NoticePage.vue | 공지사항 상세 |
/report | report | ReportPage.vue | 오류 제보 |
/inquiry | inquiry | InquiryPage.vue | 1:1 문의 |
/maintenance | maintenance | MaintenancePage.vue | 점검 안내 (점검 모드 시 리다이렉트) |
기능(Feature) 라우트
기능 빌더에서 활성화된 카테고리에 한해 접근 가능. 비활성/미정의 시 404로 리다이렉트됩니다.
| 경로 | 이름 | 페이지 | 설명 |
|---|---|---|---|
/feature/chatbot | feature-chatbot | ChatPage.vue | 챗봇 — LLM/에이전트 대화 (로그인 필요) |
/feature/community | community | CommunityPage.vue | 커뮤니티 (/community → 리다이렉트) |
/feature/tasks | feature-tasks | TasksPage.vue | 태스크 관리 — 보드/칸반, 백엔드 연동 (로그인 필요) |
/feature/github | feature-github | GitHubPage.vue | 저장소 — GitHub/Gitea 연동 (로그인 필요) |
/feature/docs | feature-docs | DocsPage.vue | 문서 — Tiptap + Yjs 공동편집 (로그인 필요) |
/feature/:id | feature | DynamicFeaturePage.vue | 빌더 기반 동적 기능 페이지 (로그인 필요) |
/preview/feature/:id | feature-preview | FeaturePreviewPage.vue | 기능 미리보기 (빌더에서 링크) |
관리자 라우트 (/admin)
관리자 레이아웃(AdminLayout) 하위에 있으며, 로그인 + 관리자 권한이 필요합니다. 역할(super_admin / operator)에 따라 접근 가능 메뉴가 제한됩니다.
| 경로 | 설명 |
|---|---|
/admin/dashboard | 대시보드 |
/admin/users | 사용자 관리 |
/admin/agents | 에이전트 관리 (실시간 SSE 모니터링) |
/admin/resources | 시스템 리소스 |
/admin/logs | 접속 로그 |
/admin/notices | 공지사항 관리 |
/admin/changelog | 변경 내역 관리 |
/admin/support | 제보·문의 관리 |
/admin/banners | 배너/팝업 관리 |
/admin/feature-builder | 기능 빌더 — 캔버스로 기능 페이지 편집 |
/admin/ai | AI 운영 (모델/MCP/RAG/에이전트 정의) |
/admin/settings | 설정 (점검 모드 등) |
/admin/security | 보안 |
/admin/roles | 역할/권한 |
/admin/audit | 감사 로그 |
/admin/system-log | 시스템 로그 |
/admin/backup | 백업/복원 |
/admin/i18n | 다국어 관리 |
기타
/:pathMatch(.*)*→ 404 (NotFoundPage.vue)
라우트 가드
라우터 진입 시 다음 순서로 검증합니다.
- 셋업 확인 —
setup.checkStatus()로 설치 완료 여부 확인. 미완료면/setup으로 강제 이동. - 인증 준비 대기 —
auth.authReady완료까지 대기 (F5 새로고침 race condition 방지). requiresAuth— 미로그인 시 세션 복원 시도 후, 실패하면/?openLogin=1로 리다이렉트.requiresAdmin—auth.user.isAdmin확인, 비관리자 시/로 리다이렉트.- 점검 모드 —
settings.maintenanceMode === true인 경우 비관리자는/maintenance로만 접근 가능. - 기능 활성화 확인 —
featureBuilder.getCategoryById(id)로 비활성/미정의 시 404 리다이렉트. - 역할별 관리자 메뉴 제한 —
roles.canAccess(routeName, role)검증, 실패 시/admin/dashboard로 리다이렉트.