Harden infra validation flow

This commit is contained in:
hyunho
2026-03-25 10:43:39 +09:00
parent d9023abed6
commit 3b4169d301
4 changed files with 169 additions and 14 deletions

View File

@@ -50,6 +50,8 @@
3. `docker compose build`를 실행합니다.
4. `docker compose up -d`를 실행합니다.
5. 브라우저에서 `http://SERVER_IP:8080` 으로 접속합니다.
6. `docker compose ps` 에서 `backend`, `frontend`, `proxy`, `db` 가 모두 `healthy` 인지 확인합니다.
7. `http://SERVER_IP:8080/api/health` 응답에서 `status`, `checks`, `member_count` 를 확인합니다.
## 7. 현재 단계의 데이터 및 백업 정책
- 데이터베이스: PostgreSQL 볼륨 `postgres_data`
@@ -60,17 +62,25 @@
## 8. 현재 구조의 한계
- 로그인은 화면상 동작만 구현되어 있고, 아직 백엔드 보호 기능은 없습니다.
- 레거시 조직도 화면은 iframe으로 연결만 해둔 상태이며, DB 기반 API와 완전히 연동되지는 않았습니다.
- 레거시 조직도 화면은 현재 DB 기반 API를 사용하도록 전환했지만, 운영 환경에서 전체 업로드/재기동/스냅샷 흐름 검증이 추가로 필요합니다.
- 레거시 화면은 CDN 자산을 사용합니다. 사내망이 외부 인터넷 접속을 막는 환경이라면 추후 로컬 자산으로 바꿔야 합니다.
## 9. 다음 구현 권장 순서
1. 프로필 사진 업로드 UI를 `/api/uploads/profile-photo` 와 연결합니다.
2. 구성원 데이터를 브라우저 메모리 방식에서 PostgreSQL 기반 API 저장 방식으로 전환합니다.
3. 사무실 자리배치 좌표 저장 기능을 추가합니다.
4. 인증 정책이 정해지면 화면상 로그인 대신 실제 로그인으로 교체합니다.
1. Docker Compose 기준 운영 검증과 스냅샷 검증을 완료합니다.
2. 4개 기능 통합 대시보드 프레임과 공통 헤더를 준비합니다.
3. 프로필 사진 업로드 UI를 `/api/uploads/profile-photo` 와 연결합니다.
4. 사무실 자리배치 좌표 저장 기능을 추가합니다.
5. 인증 정책이 정해지면 화면상 로그인 대신 실제 로그인으로 교체합니다.
## 10. 현재 로컬 테스트 접속 정보
- 접속 주소: `http://localhost:8080`
- 상태 확인 API: `http://localhost:8080/api/health`
- WSL 내부 실행 경로:
- `/home/hyunho/projects/mh-dashboard-organization`
## 11. 운영 검증 체크포인트
- 엑셀 또는 CSV 업로드 후 `GET /api/members` 에서 데이터가 조회되는지 확인합니다.
- `docker compose restart backend proxy` 이후에도 데이터가 유지되는지 확인합니다.
- `POST /api/snapshots/monthly` 호출 시 `YYYY-MM` 형식만 허용되는지 확인합니다.
- 같은 월에 대해 중복 스냅샷 생성 시 409 에러가 반환되는지 확인합니다.
- `docker compose down` 후 다시 `up -d` 했을 때 DB/업로드/스냅샷 데이터가 유지되는지 확인합니다.