diff --git a/docs/ACS작업일지.md b/docs/ACS작업일지.md index 95d38aa..6f675cc 100644 --- a/docs/ACS작업일지.md +++ b/docs/ACS작업일지.md @@ -383,3 +383,112 @@ - `GET /s3` skip 응답 정상. - `GET /db`는 현재 Windows 로컬에 `DATABASE_URL`이 없어 500과 명확한 오류 메시지를 반환. AI DEV/Coder에서 `.project-env` 로드 후 재검증 필요. - `docker build -t acs-node-guide-check .`는 Docker daemon 미기동(`dockerDesktopLinuxEngine` pipe 없음)으로 실행 전 실패. Docker Desktop 또는 AI DEV/Coder 배포 환경에서 재검증 필요. + +## 2026-07-14 + +### ACS 테스트 준비 및 문서 산출물 +- ACS 수동 테스트 시나리오 문서 작성: + - `docs/ACS-test-scenarios.md` + - 운영 기준 URL을 `https://acs.apps.bokdev.in`로 정리. + - Smoke, 권한, 방문신청, 승인/반려, 출입증/QR, 출입콘솔, 키오스크, 블랙리스트, 리포트, 발송함, 엑셀 업로드, 보안/세션, UI 테스트 항목 작성. +- 로그인 404 분석 문서 작성: + - `docs/ACS-login-404-analysis.md` + - 증상, 원인, 조치, 재테스트 기록, 운영 반영 확인 기준 정리. +- 출입신청 화면 UI 수정 문서 작성: + - `docs/ACS-visit-form-ui-update.md` + - 1차/2차 UI 변경 내용, 빌드 검증, 최신 asset 기준 기록. + +### 로그인 404/500 조치 +- 운영 `https://acs.apps.bokdev.in/login`에서 로그인 시도 시 `POST /api/auth/login` 404 발생. +- 원인: + - Node 서버의 `/api` 라우터에 health 라우터만 연결되어 있었고 Auth API가 미구현 상태. +- Node Auth API 추가: + - `server/routes/auth.ts` + - `POST /api/auth/login` + - `POST /api/auth/logout` + - `GET /api/auth/me` + - `POST /api/auth/change-password` +- 세션 처리 추가: + - `express-session` + - `connect-pg-simple` + - PostgreSQL 기반 `user_sessions` 세션 스토어 사용. +- 사용자 seed 보장: + - `scripts/seeds/users.csv`에 테스트 단축 계정 추가. + - `migrations/005_seed_test_users.sql` 추가. + - 테스트 계정: + - `a / 1` = ADMIN + - `s / 1` = SECURITY + - `h / 1` = HOST +- 운영 재배포 후 404는 해소되었으나 500 발생. +- `/api/auth/diagnostics` 추가 후 확인 결과, 운영 DB에 `users`, `user_roles` 테이블이 없는 상태 확인. +- Coolify 실행 명령이 Dockerfile `CMD ["npm", "run", "start:deploy"]`를 타지 않을 수 있다고 판단. +- 서버 시작 시 migration을 직접 보장하도록 `server/index.ts`에 `runMigrations()` 추가. +- Coolify Redeploy 후 로그인 성공 확인: + - `a / 1` 로그인 성공. + +### 운영 배포 및 커밋 +- 원격 `origin/main`에 반영한 주요 커밋: + - `7c8bd37 Add Node auth routes for ACS login` + - `9562766 Seed ACS test login accounts` + - `e02afcd Add auth deployment diagnostics` + - `0ae4b73 Run migrations on server startup` + - `7a404cd Update visit request form layout` + - `2653ed6 Compact visit request form` +- Coolify Redeploy 후 `/api/health`에서 최신 build marker 확인: + - `build: auth-seed-20260714` + - `authApi: true` + +### 출입신청 화면 UI 1차 개선 +- 요청사항 반영: + - 화면 콘텐츠 폭을 브라우저 창 기준으로 넓게 사용하도록 조정. + - 입력 항목과 레이블을 한 줄 배치로 변경. + - 필수 입력 `*` 표시를 red로 변경. + - 방문자 연락처, 현장감시자2 연락처 11자리 숫자 입력 시 `000-0000-0000` 자동 변환. + - `방문자`, `출입통제담당자`, `현장감시자1과2` 테두리 그룹 박스 적용. + - 범례/레이블/개인정보 수집·이용 동의 문구 수정. +- 검증: + - `npm run typecheck` 성공. + - `npm --prefix frontend run build` 성공. + +### 출입신청 화면 UI 2차 압축 개선 +- 목표: + - 출입신청 화면의 모든 내용을 수직 스크롤 없이 한 화면에 최대한 보이도록 조정. +- 반영 내용: + - 전체 콘텐츠 padding 축소. + - 폼 그룹/필드/동의 영역 여백 축소. + - 그룹 내부를 3열 기반으로 조정. + - `출입 전산실`과 `추가 구역`을 같은 라인에 배치. + - `출입 목적`과 `작업명`을 같은 라인에 배치. + - 불필요한 레이블 설명을 제거하고 필요한 안내는 placeholder로 이동. + - `퇴실예정일시`를 `퇴실 예정일시`로 수정. + - `직원명`을 `이름`으로 수정. + - `현장감시자1과2`를 `현장감시자`로 수정. + - `현장감시자1 : IT센터 사무보조원 (자동 지정)` 문구 반영. + - 출입통제담당자 연락처 표시를 `내선번호/휴대폰번호` placeholder 기준으로 정리. +- 최신 프론트 빌드 asset: + - JS: `/assets/index-Cc3Y9nv_.js` + - CSS: `/assets/index-V1wV5EGT.css` +- 검증: + - `npm run typecheck` 성공. + - `npm --prefix frontend run build` 성공. + +### 현재 상태 +- 로그인: + - `a / 1` 로그인 성공. +- 운영 URL: + - `https://acs.apps.bokdev.in` +- 출입신청 UI: + - 최신 UI 커밋은 원격 `main` 반영 완료. + - 운영 반영은 Coolify Redeploy 후 HTML asset 해시 확인 필요. +- 로컬 작업트리: + - 이전 작업 중 생성/수정된 미정리 파일이 일부 남아 있음. + - 배포용 커밋은 임시 worktree를 사용해 원격 최신 `main` 기준으로 선별 push 완료. + +### 다음 작업 +- Coolify Redeploy 후 운영 HTML이 최신 asset을 참조하는지 확인: + - 기대 JS: `/assets/index-Cc3Y9nv_.js` + - 기대 CSS: `/assets/index-V1wV5EGT.css` +- `/visit-requests/new` 화면 실브라우저 확인: + - 한 화면 표시 여부. + - 레이블/placeholder/그룹 박스/연락처 자동 포맷 확인. +- 방문 신청 저장 API가 아직 Node로 이관되지 않은 경우, 다음 테스트 단계에서 `/api/visit-requests` 구현 필요. diff --git a/docs/README.md b/docs/README.md index 17030fe..5d86066 100644 --- a/docs/README.md +++ b/docs/README.md @@ -7,5 +7,8 @@ IT센터 출입자관리시스템 관련 문서 모음. | [workflow.md](workflow.md) | 전체 업무 워크플로우 (서술형) — 역할, 상태 머신, 신청→승인→입·출입→통계 흐름, 배포/운영 | | [workflow-sequence.md](workflow-sequence.md) | 워크플로우 시퀀스/상태 다이어그램 (Mermaid) | | [issues-and-guidelines.md](issues-and-guidelines.md) | 기획·개발·테스트·수정 단계 이슈 정리 및 유의사항(규칙) | +| [ACS-test-scenarios.md](ACS-test-scenarios.md) | ACS 운영 테스트 시나리오 및 결과 기록표 | +| [ACS-login-404-analysis.md](ACS-login-404-analysis.md) | 로그인 404/500 원인 분석, Auth API·migration 조치 기록 | +| [ACS-visit-form-ui-update.md](ACS-visit-form-ui-update.md) | 출입신청 화면 UI 개선 내역 및 빌드/배포 asset 확인 | > 프로젝트 개요·실행 방법·API 요약은 상위 [README.md](../README.md) 참조.