Skip to content

Repository files navigation

통합 실험 현황 시각화

1. 프로젝트 목표

'Labnote Manager'로 생성된 구조화된 연구노트와 일반 마크다운 형식의 연구노트를 모두 자동으로 파싱하여, 워크플로우 구조를 나타내는 다이어그램실시간 진행 현황을 결합한 웹 기반 통합 대시보드를 구축합니다. 사용자는 실험의 전체적인 흐름과 각 단계별 현황(계획, 진행, 완료)을 한눈에 파악할 수 있습니다.

2. 핵심 기능 및 시각화

이 시스템은 'Labnote Manager'의 구조와 일반 연구노트의 관례적인 패턴을 모두 인식하여 시각화합니다.

  • 계층적 다이어그램 뷰:

    • 최상위에는 labnote/ 폴더 내의 각 실험(001_..., 241127_... 등)이 표시됩니다.
    • 각 실험을 클릭하면, 해당 실험에 포함된 워크플로우 또는 주요 단위 작업(Unit Operation)들이 순서도 형태로 나타납니다.
  • 실시간 현황 표시:

    • 다이어그램의 각 노드(단위 작업)에는 진행 상태가 색상으로 표시됩니다.
      • 🟩 완료 (Completed): 'Labnote Manager'의 경우 [x] 체크, 일반 노트의 경우 ### Result 또는 ### Conclusion 섹션이 존재할 때.
      • 🟦 진행 중 (In Progress): 'Labnote Manager'의 경우 [ ] 상태이고, 일반 노트의 경우 #### Method는 있으나 Result가 없을 때.
      • ⬜ 계획됨 (Planned): 시작 날짜가 미래이거나, 아직 시작되지 않은 단계.
    • 각 노드에는 담당자(User/author)와 시작/종료 날짜(Date/created_date)가 표시됩니다.
  • Timeline 및 Gantt 차트 뷰:

    • 파싱된 날짜 정보를 기반으로 전체 실험 과정을 시간순으로 보여주는 Gantt 차트 형태의 뷰를 제공하여 프로젝트 일정을 시각적으로 관리합니다.

3. 기술 스택 및 데이터 파싱 로직

  • 백엔드: 주기적으로 Git 저장소를 git pull 하고, 연구노트를 파싱하는 스케줄러를 구현합니다. (Python/Node.js)

  • 파싱 로직 (Dual-Mode Parser):

    1. 'Labnote Manager' 모드:
      • labnote/<번호>_<주제>/README.md 파일을 중심으로 파싱합니다.
      • <!-- WORKFLOW_LIST_START --> 내의 체크박스([x])로 워크플로우의 완료 여부를 판단합니다.
    2. '일반 연구노트' 모드:
      • 사용자가 제공한 예시(241127~241129_GGA_TF_Opt_Manual)와 같은 파일을 파싱합니다.
      • 정규표현식을 사용하여 ### [Manual] Golden Gate Assembly와 같은 헤더를 하나의 단위 작업(Unit Operation) 노드로 인식합니다.
      • 각 단위 작업 내 #### Meta 섹션에서 UserDate 정보를 추출합니다.
      • 파일 내에 ### Result, ### Conclusion 같은 섹션의 존재 여부로 해당 노트의 '완료' 상태를 추론합니다.
  • 프론트엔드: React, Vue.js, D3.js 등을 사용하여 인터랙티브한 다이어그램과 대시보드를 구현합니다.

  • Workflow:

    1. 데이터 수집: 백엔드 서버가 주기적으로 Git 저장소의 최신 변경사항을 가져옵니다.
    2. 파일 분석: labnote 디렉토리 내의 모든 마크다운 파일을 읽고, Dual-Mode Parser를 이용해 각 파일의 형식에 맞게 구조(실험, 단위 작업)와 메타데이터(담당자, 날짜, 진행 상태)를 추출합니다.
    3. 데이터베이스 저장: 정형화된 데이터를 DB(예: PostgreSQL, MongoDB)에 저장합니다.
    4. 시각화: 프론트엔드 대시보드가 DB의 데이터를 가져와 다이어그램과 타임라인 형태로 렌더링합니다.

About

통합 실험 현황 확인

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages