코드 다이어그램

ProjectHub는 프로젝트의 코드를 자동으로 분석하여 시각적인 다이어그램으로 변환합니다. 외부 도구 없이 코드 구조를 한눈에 파악할 수 있습니다.

개요

세 가지 다이어그램을 지원하며, 각각 별도의 탭으로 제공됩니다:

다이어그램탭 이름용도
플로우 차트Flow함수 호출 흐름 시각화
클래스 다이어그램ClassOOP 구조 (클래스, 상속) 시각화
SQL 다이어그램SQL데이터베이스 스키마 시각화

💡 다이어그램은 순수 HTML/CSS/JavaScript로 렌더링되며, 외부 의존성이 필요 없습니다.

지원 언어

언어FlowClassSQL
Swift-
Python
JavaScript/TypeScript
Java
Kotlin-
Rust-
Go-
C#
C/C++-
Ruby
PHP

플로우 차트 (Flow)

프로젝트 내 함수들의 호출 관계를 시각화합니다.

Flow 탭 - 함수 호출 플로우 차트

분석 내용

  • 함수/메서드 정의 추출
  • 함수 간 호출 관계 파악
  • 진입점(main, entry point) 식별
  • 호출 깊이에 따른 레이어링

읽는 방법

  • 노드 — 각 함수/메서드
  • 화살표 — 호출 관계 (A → B: A가 B를 호출)
  • 색상 — 파일별로 다른 색상 구분
  • 클릭 — 노드를 클릭하면 상세 정보 표시
Flow 차트 - 노드 클릭 시 상세 정보 팝업

클래스 다이어그램 (Class)

OOP(객체지향) 구조를 UML 스타일로 시각화합니다.

Class 탭 - 클래스 다이어그램 전체

분석 내용

요소설명
클래스class 키워드 기반 추출
구조체struct 키워드 기반 추출
열거형enum 키워드 기반 추출
프로토콜/인터페이스protocol, interface 추출
프로퍼티인스턴스 변수, 속성
메서드인스턴스 메서드, 정적 메서드
상속부모-자식 관계

읽는 방법

  • 상자 — 각 클래스/구조체
  • 상단 — 클래스 이름
  • 중단 — 프로퍼티 목록
  • 하단 — 메서드 목록
  • 실선 화살표 — 상속 관계
  • 점선 화살표 — 인터페이스 구현
Class 다이어그램 - 상속 관계가 표시된 상세 뷰

SQL 다이어그램 (SQL)

데이터베이스 스키마를 ER 다이어그램으로 시각화합니다.

SQL 탭 - ER 다이어그램 전체

분석 내용

  • 테이블 정의 추출 (CREATE TABLE, 모델 클래스)
  • 컬럼명, 데이터 타입
  • Primary Key, Foreign Key 관계
  • 인덱스

읽는 방법

  • 테이블 상자 — 각 테이블
  • 컬럼 목록 — 이름, 타입, 제약조건
  • 연결선 — Foreign Key 관계
  • 1:N 표시 — 관계 카디널리티

사용 방법

1. 다이어그램 탭 선택

프로젝트 상세 뷰에서 Flow, Class, 또는 SQL 탭을 클릭합니다.

2. 자동 분석

탭을 선택하면 자동으로 프로젝트 코드를 분석합니다:

  • 프로젝트 파일 스캔
  • 해당 언어 파서로 구조 추출
  • HTML 다이어그램 생성
  • WebView로 렌더링

3. 인터랙션

생성된 다이어그램에서 다음 인터랙션이 가능합니다:

  • — 스크롤로 확대/축소
  • — 드래그로 이동
  • 클릭 — 노드 선택 및 상세 정보
  • 호버 — 요소에 마우스를 올리면 하이라이트

성능 제한

대규모 프로젝트에서의 성능을 위해 다음 제한이 있습니다:

항목제한
파일당 최대 라인 수5,000줄
파일 크기 제한500KB
제외 디렉토리node_modules, .git, build, __pycache__, dist

💡 매우 큰 프로젝트는 분석에 시간이 걸릴 수 있습니다. 제외 디렉토리 설정으로 불필요한 파일을 건너뛸 수 있습니다.

활용 시나리오

코드 이해

새로 합류한 프로젝트의 전체 구조를 빠르게 파악할 때 유용합니다.

리팩토링 계획

클래스 다이어그램으로 의존성을 파악하고, 리팩토링 전략을 세울 수 있습니다.

데이터베이스 설계 검토

SQL 다이어그램으로 테이블 관계를 시각화하여 설계를 검토합니다.

문서화

생성된 다이어그램을 프로젝트 문서에 포함하여 코드 구조를 설명할 수 있습니다.

다음 단계