Update ACS work log and deliverables

This commit is contained in:
unknown
2026-07-14 19:47:01 +09:00
parent 2653ed64bc
commit a25872394a
2 changed files with 112 additions and 0 deletions

View File

@@ -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` 구현 필요.