'Labnote Manager'로 생성된 구조화된 연구노트와 일반 마크다운 형식의 연구노트를 모두 자동으로 파싱하여, 워크플로우 구조를 나타내는 다이어그램과 실시간 진행 현황을 결합한 웹 기반 통합 대시보드를 구축합니다. 사용자는 실험의 전체적인 흐름과 각 단계별 현황(계획, 진행, 완료)을 한눈에 파악할 수 있습니다.
이 시스템은 'Labnote Manager'의 구조와 일반 연구노트의 관례적인 패턴을 모두 인식하여 시각화합니다.
-
계층적 다이어그램 뷰:
- 최상위에는
labnote/
폴더 내의 각 실험(001_...
,241127_...
등)이 표시됩니다. - 각 실험을 클릭하면, 해당 실험에 포함된 워크플로우 또는 주요 단위 작업(Unit Operation)들이 순서도 형태로 나타납니다.
- 최상위에는
-
실시간 현황 표시:
- 다이어그램의 각 노드(단위 작업)에는 진행 상태가 색상으로 표시됩니다.
- 🟩 완료 (Completed): 'Labnote Manager'의 경우
[x]
체크, 일반 노트의 경우### Result
또는### Conclusion
섹션이 존재할 때. - 🟦 진행 중 (In Progress): 'Labnote Manager'의 경우
[ ]
상태이고, 일반 노트의 경우#### Method
는 있으나Result
가 없을 때. - ⬜ 계획됨 (Planned): 시작 날짜가 미래이거나, 아직 시작되지 않은 단계.
- 🟩 완료 (Completed): 'Labnote Manager'의 경우
- 각 노드에는 담당자(
User
/author
)와 시작/종료 날짜(Date
/created_date
)가 표시됩니다.
- 다이어그램의 각 노드(단위 작업)에는 진행 상태가 색상으로 표시됩니다.
-
Timeline 및 Gantt 차트 뷰:
- 파싱된 날짜 정보를 기반으로 전체 실험 과정을 시간순으로 보여주는 Gantt 차트 형태의 뷰를 제공하여 프로젝트 일정을 시각적으로 관리합니다.
-
백엔드: 주기적으로 Git 저장소를
git pull
하고, 연구노트를 파싱하는 스케줄러를 구현합니다. (Python/Node.js) -
파싱 로직 (Dual-Mode Parser):
- 'Labnote Manager' 모드:
labnote/<번호>_<주제>/README.md
파일을 중심으로 파싱합니다.<!-- WORKFLOW_LIST_START -->
내의 체크박스([x]
)로 워크플로우의 완료 여부를 판단합니다.
- '일반 연구노트' 모드:
- 사용자가 제공한 예시(
241127~241129_GGA_TF_Opt_Manual
)와 같은 파일을 파싱합니다. - 정규표현식을 사용하여
### [Manual] Golden Gate Assembly
와 같은 헤더를 하나의 단위 작업(Unit Operation) 노드로 인식합니다. - 각 단위 작업 내
#### Meta
섹션에서User
와Date
정보를 추출합니다. - 파일 내에
### Result
,### Conclusion
같은 섹션의 존재 여부로 해당 노트의 '완료' 상태를 추론합니다.
- 사용자가 제공한 예시(
- 'Labnote Manager' 모드:
-
프론트엔드: React, Vue.js, D3.js 등을 사용하여 인터랙티브한 다이어그램과 대시보드를 구현합니다.
-
Workflow:
- 데이터 수집: 백엔드 서버가 주기적으로 Git 저장소의 최신 변경사항을 가져옵니다.
- 파일 분석:
labnote
디렉토리 내의 모든 마크다운 파일을 읽고, Dual-Mode Parser를 이용해 각 파일의 형식에 맞게 구조(실험, 단위 작업)와 메타데이터(담당자, 날짜, 진행 상태)를 추출합니다. - 데이터베이스 저장: 정형화된 데이터를 DB(예: PostgreSQL, MongoDB)에 저장합니다.
- 시각화: 프론트엔드 대시보드가 DB의 데이터를 가져와 다이어그램과 타임라인 형태로 렌더링합니다.