feat(nav): 임직원(OPS) 로그인 시 하단 관리자·토큰 모달, README 반영

- 좌측 하단 구분선+관리자: OPS 세션에서도 토큰으로 /admin 인증 가능
- OPS+관리자 시 사용자 현황관리·로그오프·로그아웃 정리
- nav-item-admin-entry 스타일(슬레이트 톤)
- README: 관리자 UI·학습 등록·성공 사례 버튼 동작, partials 구조 보강

Made-with: Cursor
This commit is contained in:
2026-04-08 17:31:26 +09:00
parent fa338dfadf
commit 747caa9c99
3 changed files with 35 additions and 5 deletions

View File

@@ -64,6 +64,10 @@
- 관리자 토큰으로 강의 삭제 가능
- 초기 샘플 데이터 시드
- `resources/lecture`에 있는 `.pptx`를 최초 실행 시 자동 등록
- **관리자 인증·바로가기(UI)**
- **좌측 메뉴 하단 `관리자`**: 운영(OPS)에서 **이메일 인증**으로 로그인한 임직원에게도 표시됩니다. 클릭하면 모달에서 `ADMIN_TOKEN`을 입력해 검증한 뒤 `/admin`으로 이동합니다(`POST /api/admin/validate-token`). 이메일 미로그인 환경에서도 동일한 하단 항목으로 관리자 인증을 할 수 있습니다. 관리자 세션이 잡히면 같은 영역에 **사용자 현황관리**·**로그오프**(관리자 세션 종료) 등이 이어서 보입니다.
- **학습센터** (`/learning`): 관리자 쿠키가 있을 때 상단 오른쪽 **학습 등록**으로 통합 관리 화면(`/admin`)에 들어갈 수 있습니다. 이메일(OPS) 로그인과 동시에 있어도 버튼이 숨겨지지 않습니다.
- **AI 성공 사례** (`/ai-cases`): 관리자일 때 상단 **사례 등록·관리**로 편집 화면(`/ai-cases/write`)에 진입합니다(동일하게 OPS 로그인 중에도 표시).
---
@@ -83,7 +87,8 @@ ai_platform/
│ └─ styles.css # 전역 스타일
├─ views/
│ ├─ partials/
│ │ ─ nav.ejs # 좌측 공통 네비게이션
│ │ ─ nav.ejs # 좌측 공통 네비게이션(하단 관리자·토큰 모달 연동)
│ │ └─ admin-token-modal.ejs # 관리자 토큰 입력 모달(`openAdminTokenModal`)
│ ├─ learning-viewer.ejs # 학습센터 뷰어 (일반 사용자)
│ ├─ learning-admin.ejs # 학습센터 관리 (업로드·삭제·썸네일)
│ ├─ chat.ejs # 채팅
@@ -379,6 +384,7 @@ ADMIN_TOKEN=my-secret PAGE_SIZE=12 npm start
- `ADMIN_TOKEN` 미지정 시 기본값: `xavis-admin`
- `PAGE_SIZE` 미지정 시 기본값: `8`
- `.env` 파일이 있으면 `dotenv`로 자동 로드
- 브라우저에서는 좌측 메뉴 하단 **관리자** → 모달에 위 토큰을 입력해 세션 쿠키를 발급받는 방식으로 `/admin`에 진입할 수 있습니다(임직원 이메일 로그인 여부와 동일한 흐름).
### PostgreSQL 연결 설정