[ProjectMaster] 관리자 페이지 및 메일 기능 프로토타입 테스트 #1

Open
opened 2026-02-20 14:13:33 +09:00 by Taehoon · 0 comments
Owner

[작업 완료 보고: MySQL DB 정규화 및 수집 시스템 고도화]

  1. 데이터베이스 아키텍처 정규화 (Normalization)
    기존의 단일 테이블 구조를 마스터와 히스토리로 분리하여 데이터 관리의 효율성과 확장성을 확보했습니다.
  • projects_master: 프로젝트 고유 정보(ID, 전체 명칭, 단축 명칭, 대륙, 국가, 담당자 등)를 보존.
  • projects_history: 수집 일자별 변동 데이터(최근 활동로그, 파일수)를 누적 관리.
  • 기대 효과: 데이터 중복 최소화 및 프로젝트별 시계열(Time-series) 데이터 분석 기반 마련.
  1. 날짜별 데이터 축적 및 대시보드 필터링
  • 히스토리 축적: 크롤링 수행 시마다 해당 날짜의 스냅샷을 생성하여 과거 데이터를 영구 보존.
  • 동적 날짜 필터: 대시보드 상단에 드롭다운(Select) 메뉴를 추가하여, 과거 특정 시점의 프로젝트 현황을 즉시 조회하는 기능 구현.
  • ID 기반 정밀 매칭: 명칭 불일치로 인한 데이터 누락을 방지하기 위해 API 고유 ID(project_id)를 기준으로 데이터를 1:1 매칭하여 업데이트.
  1. 크롤링 수집 엔진 안정화 (핵심 로직 복원)
    수집 성공률 100% 달성을 위해 가장 안정적이었던 검증된 로직들을 모두 통합 복원했습니다.
  • 좌표 기반 클릭 (mouse.click): 일반 클릭 명령이 무시되는 환경에 대응하여 마우스 좌표를 직접 계산해 클릭함으로써 모달 오픈 실패 해결.
  • 활동로그 날짜 필터링: 모달 내부 날짜를 2020-01-01로 강제 설정하여 과거 로그 전수 조사 기능 정상화.
  • 파일 개수 정밀 합산: 루트 레벨 파일과 하위 폴더별 filesCount를 정확히 합산하는 수식 복원.
  • 3회 재시도 루프: 버튼 클릭 및 모달 로딩 실패 시 최대 3회 재시도 로직을 통해 견고한 수집 프로세스 구축.
  1. 대시보드 UI/UX 개선
  • 레이아웃 고정 (Fixed Header): 상단 헤더와 실시간 로그 콘솔을 화면에 고정하여 스크롤 시에도 수집 상황을 즉시 확인할 수 있도록 개선.
  • 명칭 최적화: 긴 전체 명칭 대신 가독성이 높은 단축 명칭(short_nm)을 대시보드에 우선 표시.
  • 기준날짜 표시: DB 내 최신 수집 일시를 상단에 명시하여 데이터의 신선도 확인 가능.
[작업 완료 보고: MySQL DB 정규화 및 수집 시스템 고도화] 1. 데이터베이스 아키텍처 정규화 (Normalization) 기존의 단일 테이블 구조를 마스터와 히스토리로 분리하여 데이터 관리의 효율성과 확장성을 확보했습니다. * projects_master: 프로젝트 고유 정보(ID, 전체 명칭, 단축 명칭, 대륙, 국가, 담당자 등)를 보존. * projects_history: 수집 일자별 변동 데이터(최근 활동로그, 파일수)를 누적 관리. * 기대 효과: 데이터 중복 최소화 및 프로젝트별 시계열(Time-series) 데이터 분석 기반 마련. 2. 날짜별 데이터 축적 및 대시보드 필터링 * 히스토리 축적: 크롤링 수행 시마다 해당 날짜의 스냅샷을 생성하여 과거 데이터를 영구 보존. * 동적 날짜 필터: 대시보드 상단에 드롭다운(Select) 메뉴를 추가하여, 과거 특정 시점의 프로젝트 현황을 즉시 조회하는 기능 구현. * ID 기반 정밀 매칭: 명칭 불일치로 인한 데이터 누락을 방지하기 위해 API 고유 ID(project_id)를 기준으로 데이터를 1:1 매칭하여 업데이트. 3. 크롤링 수집 엔진 안정화 (핵심 로직 복원) 수집 성공률 100% 달성을 위해 가장 안정적이었던 검증된 로직들을 모두 통합 복원했습니다. * 좌표 기반 클릭 (mouse.click): 일반 클릭 명령이 무시되는 환경에 대응하여 마우스 좌표를 직접 계산해 클릭함으로써 모달 오픈 실패 해결. * 활동로그 날짜 필터링: 모달 내부 날짜를 2020-01-01로 강제 설정하여 과거 로그 전수 조사 기능 정상화. * 파일 개수 정밀 합산: 루트 레벨 파일과 하위 폴더별 filesCount를 정확히 합산하는 수식 복원. * 3회 재시도 루프: 버튼 클릭 및 모달 로딩 실패 시 최대 3회 재시도 로직을 통해 견고한 수집 프로세스 구축. 4. 대시보드 UI/UX 개선 * 레이아웃 고정 (Fixed Header): 상단 헤더와 실시간 로그 콘솔을 화면에 고정하여 스크롤 시에도 수집 상황을 즉시 확인할 수 있도록 개선. * 명칭 최적화: 긴 전체 명칭 대신 가독성이 높은 단축 명칭(short_nm)을 대시보드에 우선 표시. * 기준날짜 표시: DB 내 최신 수집 일시를 상단에 명시하여 데이터의 신선도 확인 가능.
Taehoon changed title from Test Issue from Gemini CLI to [Setup] Gemini CLI? Gitea MCP ?? ? ?? ?? 2026-02-20 14:17:17 +09:00
Taehoon changed title from [Setup] Gemini CLI? Gitea MCP ?? ? ?? ?? to [Setup] Gemini CLI와 Gitea MCP 연결 및 환경 검증 2026-02-20 14:17:38 +09:00
Taehoon changed title from [Setup] Gemini CLI와 Gitea MCP 연결 및 환경 검증 to [ProjectMaster] 관리자 페이지 및 메일 기능 프로토타입 테스트 2026-03-10 16:25:58 +09:00
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Taehoon/test-mcp#1