your_project/
│
├── app.py # Streamlit 진입점(최소 UI, 라우팅만)
│
├── ui/ # UI 컴포넌트/페이지
│ ├── __init__.py
│ ├── layout.py # 헤더, 사이드바, 공통 UI
│ ├── dashboard.py # 대시보드 페이지
│ ├── analysis.py # 상세 분석 페이지
│ ├── mitre.py # MITRE ATT&CK 페이지
│ └── vuln_list.py # 취약점 목록 페이지
│
├── logic/ # 핵심 로직/비즈니스 함수
│ ├── __init__.py
│ ├── ansible_runner.py # Ansible 실행, 결과 관리
│ ├── analyzer.py # 데이터 분석/가공
│ └── utils.py # 공통 유틸 함수
│
├── data/ # 데이터/결과 저장
│ └── results/
│
├── static/ # 정적 파일(CSS, JS, 이미지 등)
│ └── style.css
│
├── requirements.txt
└── README.md
- 의존성 설치
pip install -r requirements.txt
- 앱 실행
streamlit run app.py
- app.py: Streamlit 진입점, 라우팅 및 버튼별 기능 호출
- ui/: UI 컴포넌트 및 각 페이지별 화면
- logic/: Ansible 실행, 데이터 분석 등 핵심 로직
- data/results/: 결과 파일 저장 위치
- static/style.css: 커스텀 CSS
팀원에게 이 폴더/파일 구조 그대로 전달하면 됩니다!