From 1d15cf9b9bd7a4e8abf985761534a85cdac3b0db Mon Sep 17 00:00:00 2001 From: hyunho Date: Thu, 26 Mar 2026 18:07:32 +0900 Subject: [PATCH] docs: add next session checkpoint --- docs/NEXT_SESSION_CHECKPOINT.md | 137 ++++++++++++++++++++++++++++++++ 1 file changed, 137 insertions(+) create mode 100644 docs/NEXT_SESSION_CHECKPOINT.md diff --git a/docs/NEXT_SESSION_CHECKPOINT.md b/docs/NEXT_SESSION_CHECKPOINT.md new file mode 100644 index 0000000..481ebd3 --- /dev/null +++ b/docs/NEXT_SESSION_CHECKPOINT.md @@ -0,0 +1,137 @@ +# Next Session Checkpoint + +## Current Base + +- branch: `total` +- latest integration commit: `61b5638` +- main history doc: [DEVELOPMENT_HISTORY.md](/home/hyunho/projects/mh-dashboard-organization/docs/DEVELOPMENT_HISTORY.md) + +## What Was Finished + +### Dashboard Integration + +- `조직 현황`, `프로젝트별 분석`, `팀/개인별 분석`, `자리배치도`를 하나의 허브에 통합 +- `payment.html`, `mh.html`을 현재 프로젝트에 편입 +- 공통 헤더, 탭, 로그인 정보, 공통 기간 제어 구성 + +### Integrated DB + +- `organization.xlsx`, `MH.xlsx`, `payment.csv`, `ptj.csv` 기반 통합 DB 구성 +- raw/staging/standard 성격의 구조를 PostgreSQL에 반영 +- `members`, `seat_maps`, `seat_slots`, `seat_positions` +- `integration_raw_*`, `integration_work_logs`, `integration_work_log_segments`, `integration_vouchers` +- 프로젝트 카테고리 매핑 반영 + +### Team / Member Analysis + +- `omh.html` 원본 기준으로 계산식/카테고리/디자인 복원 +- DB raw MH 데이터를 원본 입력 구조처럼 다시 공급하는 방식으로 정리 + +### Project Analysis + +- `opayment.html` 원본 기준으로 화면 복원 +- `payment.csv` 분류 우선, `ptj.csv` fallback 적용 +- 연장근무는 `연장근무 시간(가공)` 기준으로 반영 + +### Organization / Seat Map + +- 조직도 상세 프로필에 `재석위치` preview 연결 +- 관리자/비관리자 자리배치도 화면 분리 +- 저장 후 조직도와 비관리자 열람에 반영되도록 seat save 흐름 정리 +- seat persistence bug 수정 + - 원인: `seat_positions_map_cell_idx`가 slot 기반 도면에도 적용됨 + - 조치: `seat_slot_id IS NULL`인 grid map에만 적용되도록 수정 + +### Member Data Governance + +- 이름 alias, 퇴사 제외, 조직 override를 DB 테이블 기반으로 전환 +- 사용 테이블: + - `member_aliases` + - `member_retirements` + - `member_overrides` + +### External Access + +- WSL 내부 8080 리슨 확인 +- Windows `portproxy`를 이용해 다른 PC에서 접속 가능하게 설정 +- 현재 기준 주소: + - `http://172.16.40.144:8080` + +## Important Runtime Notes + +### Seat Map Save + +- 저장이 안 되면 먼저 backend 로그에서 `PUT /api/seat-maps/{id}/layout` 상태코드 확인 +- 과거 핵심 장애는 DB 인덱스 충돌이었다 +- 현재 저장 구조는: + - `seat_positions` + - `members.seat_label` + 둘 다 같이 갱신 + +### External Access + +- Windows LAN IP가 바뀌면 접속 주소가 바뀔 수 있음 +- WSL IP가 바뀌면 `portproxy connectaddress`를 다시 맞춰야 함 +- 다음 확인 명령: + - Windows: `ipconfig` + - WSL: `hostname -I` + - Windows: `netsh interface portproxy show all` + +## Open Issues + +- `#2` 백엔드 영속 저장 구조 운영 마무리 및 스냅샷 검증 +- `#3` 사무실 좌석 배치도 조회 및 관리자 편집 기능 고도화 +- `#5` 실제 인증 체계 전환 +- `#6` 4개 기능 통합 대시보드 프레임 및 공통 헤더 구축 +- `#7` 자리배치도 팀별 색상 오버레이 표시 +- `#8` 자리배치도 좌석 클릭 시 개인 상위 조직 트리 표시 +- `#9` 조직도·자리배치도 변경 이력 버전 누적 저장 + +## Unfinished Ideas Discussed Today + +### Seat Map UX + +- 자리배치도 내 인원 등록 시 팀별 색상 표시 +- 좌석 클릭 시 본인까지의 상위 조직 트리 표시 +- 나머지 사무실 2개 도면 추가 + - `한맥빌딩 7층` + - `한맥빌딩 6층` +- 비관리자 열람 화면 품질 추가 점검 + +### History / Versioning + +- 조직도와 자리배치도 수정 이력을 버전 누적형으로 저장 +- 원본 DB와 별도의 history/snapshot 구조 설계 +- 날짜/버전 형식 예: + - `00.00.00` + - 또는 날짜 기반 revision + +### Project Analysis Accuracy + +- 총합은 거의 맞았지만 일부 프로젝트 단위 소수점/분류 오차는 추가 정밀 보정 필요 +- `opayment` 기준으로 특정 프로젝트 차이를 계속 줄여야 함 + +### Auth / Permission + +- mock login을 실제 인증 체계로 전환 +- 역할별 접근 제어 정리 +- 조직도/자리배치도/분석 화면 권한 경계 재정리 + +## Recommended Next Work Order + +1. 자리배치도 저장/표시를 브라우저에서 한 번 더 실사용 검증 +2. `#7`, `#8`, `#9` 중 우선순위 확정 +3. 프로젝트별 분석 남은 오차 정밀 보정 +4. 실제 인증 체계 설계/구현 + +## Quick Resume Prompt + +다음 세션 시작 시 아래 기준으로 이어가면 된다. + +- 브랜치 `total`에서 시작 +- 최근 커밋 `61b5638` 확인 +- `docs/DEVELOPMENT_HISTORY.md` +- `docs/NEXT_SESSION_CHECKPOINT.md` +- Gitea 이슈 `#7`, `#8`, `#9` + +그리고 먼저 현재 외부 접속과 자리배치 저장이 정상인지 확인한 뒤 다음 기능 개발로 넘어간다.