406 lines
18 KiB
Markdown
406 lines
18 KiB
Markdown
# Flet 기반 PDF 입력 및 Gemini API 이미지 분석 UI 프로젝트 계획
|
|
|
|
## 1. 프로젝트 목표
|
|
Flet 프레임워크를 사용하여 사용자가 PDF 및 DXF 파일을 업로드하고, 다음과 같은 분석을 수행하는 애플리케이션을 개발합니다:
|
|
- **PDF 파일**: Gemini API를 통한 이미지 분석
|
|
- **DXF 파일**: ezdxf 라이브러리를 통한 도곽(Title Block) 정보 추출 및 Block Reference/Attribute Reference 분석
|
|
|
|
## 2. 기술 스택
|
|
- **UI 프레임워크**: Flet v0.25.1+
|
|
- **API 연동**: Google Gemini API (Python SDK - google-genai v1.0+)
|
|
- **PDF 처리**: PyMuPDF v1.26.3+ 또는 pdf2image v1.17.0+
|
|
- **DXF 처리**: ezdxf v1.4.2+ (CAD 도면 파일 처리)
|
|
- **데이터 인코딩**: base64 (Python 내장 라이브러리)
|
|
- **환경 변수 관리**: python-dotenv v1.0.0+
|
|
- **UI 디자인**: Flet Material Library (선택 사항)
|
|
- **좌표 계산**: numpy v1.24.0+ (Bounding Box 계산)
|
|
|
|
## 3. 프로젝트 구조
|
|
```
|
|
fletimageanalysis/
|
|
├── main.py # Flet UI 메인 애플리케이션
|
|
├── gemini_analyzer.py # Gemini API 연동 모듈
|
|
├── pdf_processor.py # PDF 처리 모듈
|
|
├── dxf_processor.py # DXF 처리 모듈 (NEW)
|
|
├── ui_components.py # UI 컴포넌트 모듈
|
|
├── config.py # 설정 관리 모듈
|
|
├── requirements.txt # 프로젝트 의존성 목록
|
|
├── .env # 환경 변수 파일 (API 키 등)
|
|
├── uploads/ # 업로드된 파일 저장 폴더
|
|
├── assets/ # 애플리케이션 자산
|
|
└── docs/ # 문서화 파일
|
|
```
|
|
|
|
## 4. 주요 기능 및 UI 구성
|
|
|
|
### 4.1 메인 UI 구성
|
|
- **헤더**: 애플리케이션 제목 및 로고
|
|
- **파일 업로드 영역**: PDF 파일 선택 버튼 및 파일 정보 표시
|
|
- **분석 설정 영역**: 분석 옵션 설정 (페이지 선택, 분석 모드 등)
|
|
- **분석 버튼**: 분석 시작 버튼
|
|
- **결과 표시 영역**: 분석 결과 및 PDF 미리보기
|
|
- **상태 표시줄**: 진행 상태 및 오류 메시지
|
|
|
|
### 4.2 핵심 기능
|
|
**PDF 분석 기능:**
|
|
- PDF 파일 업로드 및 검증
|
|
- PDF 페이지 이미지 변환
|
|
- Gemini API를 통한 이미지 분석
|
|
|
|
**DXF 분석 기능 (NEW):**
|
|
- DXF 파일 업로드 및 검증
|
|
- Block Reference 추출 및 분석
|
|
- Attribute Reference에서 도곽 정보 추출
|
|
- 도곽 위치, 배치, 크기 정보 추출
|
|
- Text Bounding Box 좌표 계산
|
|
|
|
**공통 기능:**
|
|
- 분석 결과 실시간 표시
|
|
- 분석 진행률 표시
|
|
- 오류 처리 및 사용자 피드백
|
|
|
|
## 5. 개발 단계 및 진행 상황
|
|
|
|
### 단계 1: 프로젝트 초기 설정 ✅
|
|
- [x] 프로젝트 폴더 구조 생성
|
|
- [x] project_plan.md 작성
|
|
- [x] requirements.txt 작성
|
|
- [x] 기본 설정 파일 구성 (.env.example, config.py)
|
|
- [x] 업로드/자산 폴더 생성
|
|
|
|
### 단계 2: 핵심 모듈 구현 ✅
|
|
- [x] PDF 처리 모듈 (pdf_processor.py) 구현
|
|
- [x] Gemini API 연동 모듈 (gemini_analyzer.py) 구현
|
|
- [x] UI 컴포넌트 모듈 (ui_components.py) 구현
|
|
- [x] 메인 애플리케이션 (main.py) 구현
|
|
|
|
### 단계 3: 기본 기능 구현 ✅
|
|
- [x] PDF 파일 읽기 및 검증
|
|
- [x] PDF 페이지 이미지 변환 (PyMuPDF)
|
|
- [x] Base64 인코딩 처리
|
|
- [x] Gemini API 클라이언트 구성
|
|
- [x] 이미지 분석 요청 처리
|
|
- [x] API 응답 처리 및 파싱
|
|
|
|
### 단계 4: UI 구현 ✅
|
|
- [x] 메인 애플리케이션 레이아웃 설계
|
|
- [x] 파일 업로드 UI 구현
|
|
- [x] 분석 설정 UI 구현
|
|
- [x] 진행률 표시 UI 구현
|
|
- [x] 결과 표시 UI 구현
|
|
- [x] PDF 미리보기 UI 구현
|
|
|
|
### 단계 5: 통합 및 이벤트 처리 ✅
|
|
- [x] 파일 업로드 이벤트 처리
|
|
- [x] 분석 진행률 표시
|
|
- [x] 결과 표시 기능
|
|
- [x] 오류 처리 및 사용자 알림
|
|
- [x] 백그라운드 스레드 처리
|
|
|
|
### 단계 6: 고급 기능 구현 ✅
|
|
- [x] PDF 미리보기 기능 (advanced_features.py)
|
|
- [x] 분석 결과 저장 기능 (텍스트/JSON)
|
|
- [x] 고급 설정 관리 (AdvancedSettings)
|
|
- [x] 오류 처리 및 로깅 시스템 (ErrorHandler)
|
|
- [x] 분석 히스토리 관리 (AnalysisHistory)
|
|
- [x] 사용자 정의 프롬프트 관리 (CustomPromptManager)
|
|
|
|
### 단계 7: 문서화 및 테스트 ✅
|
|
- [x] README.md 작성 (상세한 사용법 및 설치 가이드)
|
|
- [x] 사용자 가이드 (docs/user_guide.md)
|
|
- [x] 개발자 가이드 (docs/developer_guide.md)
|
|
- [x] 테스트 스크립트 (test_project.py)
|
|
- [x] 설치 스크립트 (setup.py)
|
|
- [x] 라이선스 파일 (LICENSE - MIT)
|
|
|
|
### 단계 8: 고급 기능 확장 ✅ (NEW)
|
|
- [x] 조직별 스키마 선택 기능 구현
|
|
- [x] 국토교통부/한국도로공사 전용 스키마 적용
|
|
- [x] UI 조직 선택 드롭다운 추가
|
|
- [x] Gemini API 스키마 매개변수 동적 전달
|
|
- [x] 조직별 분석 결과 차별화
|
|
|
|
### 단계 9: 최종 최적화 및 배포 준비 ✅
|
|
- [x] 코드 정리 및 최적화
|
|
- [x] 오류 처리 강화
|
|
- [x] 사용자 경험 개선
|
|
- [x] 최종 테스트 및 검증
|
|
|
|
### 단계 10: UI 레이아웃 개선 ✅
|
|
- [x] 좌우 분할 레이아웃으로 UI 재구성
|
|
- [x] ResponsiveRow를 활용한 반응형 디자인 적용
|
|
- [x] 좌측: 파일 업로드 + 분석 설정 + 진행률 + 분석 시작 버튼
|
|
- [x] 우측: 분석 결과 표시 영역 확장
|
|
- [x] PDF 뷰어를 별도 모달 창으로 분리
|
|
- [x] AlertDialog를 사용한 PDF 미리보기 기능 구현
|
|
- [x] 페이지 네비게이션 기능 추가 (이전/다음 페이지)
|
|
- [x] pdf_processor.py에 이미지 바이트 변환 메서드 추가
|
|
- [x] 기존 UI와 새 UI 백업 및 교체 완료
|
|
|
|
### 단계 11: DXF 파일 지원 추가 ✅ (COMPLETED)
|
|
- [x] DXF 파일 형식 지원 추가 (.dxf 확장자)
|
|
- [x] ezdxf 라이브러리 설치 및 설정 (requirements.txt 업데이트)
|
|
- [x] DXF 파일 업로드 및 검증 기능 (dxf_processor.py 완성)
|
|
- [x] Block Reference 추출 모듈 구현 (dxf_processor.py)
|
|
- [x] Attribute Reference 분석 모듈 구현 (dxf_processor.py)
|
|
- [x] 도곽 정보 추출 로직 구현 (dxf_processor.py)
|
|
- [x] Bounding Box 계산 기능 구현 (dxf_processor.py)
|
|
- [x] config.py DXF 지원 설정 추가
|
|
- [x] ui_components.py DXF 지원 텍스트 업데이트
|
|
- [x] main.py 기본 DXF 지원 구조 수정 (import, 클래스명)
|
|
- [x] DXF 지원 메서드들 설계 및 구현 (dxf_support_methods.py)
|
|
- [x] main.py에 DXF 지원 메서드들 완전 통합
|
|
- [x] 파일 선택 로직 DXF 지원으로 완전 업데이트
|
|
- [x] DXF 분석 결과 UI 통합
|
|
- [x] 파일 타입별 분석 방법 자동 선택
|
|
- [x] DocumentAnalyzerApp 클래스명 통일
|
|
- [x] 변수명 통일 (current_file_path, current_file_type)
|
|
- [x] 좌우 분할 레이아웃으로 UI 재구성
|
|
- [x] ResponsiveRow를 활용한 반응형 디자인 적용
|
|
- [x] 좌측: 파일 업로드 + 분석 설정 + 진행률 + 분석 시작 버튼
|
|
- [x] 우측: 분석 결과 표시 영역 확장
|
|
- [x] PDF 뷰어를 별도 모달 창으로 분리
|
|
- [x] AlertDialog를 사용한 PDF 미리보기 기능 구현
|
|
- [x] 페이지 네비게이션 기능 추가 (이전/다음 페이지)
|
|
- [x] pdf_processor.py에 이미지 바이트 변환 메서드 추가
|
|
- [x] 기존 UI와 새 UI 백업 및 교체 완료
|
|
|
|
## 6. 연구된 웹사이트 (70+개)
|
|
|
|
### 6.1 Flet 프레임워크 관련 (12개)
|
|
1. Flet 공식 문서 - https://flet.dev/docs/
|
|
2. Flet GitHub - https://github.com/flet-dev/flet
|
|
3. Flet 드롭다운 컴포넌트 - https://flet.dev/docs/controls/dropdown/
|
|
4. Flet 컨트롤 참조 - https://flet.dev/docs/controls/
|
|
5. Flet FilePicker 문서 - https://flet.dev/docs/controls/filepicker/
|
|
6. Flet 2024 개발 동향 - DEV Community
|
|
7. Flet 초보자 가이드 - DEV Community
|
|
8. Flet 예제 코드 - https://github.com/flet-dev/examples
|
|
9. Flet UI 컴포넌트 라이브러리 - Gumroad
|
|
10. Flet 개발 토론 - GitHub Discussions
|
|
11. Flet 소개 및 특징 - Analytics Vidhya
|
|
12. Talk Python 팟캐스트 Flet 업데이트 - TalkPython.fm
|
|
|
|
### 6.2 Gemini API 및 구조화된 출력 (10개)
|
|
13. Gemini API Structured Output - https://ai.google.dev/gemini-api/docs/structured-output
|
|
14. Firebase Vertex AI Structured Output - Firebase 문서
|
|
15. Google Gen AI SDK - https://googleapis.github.io/python-genai/
|
|
16. Gemini JSON 모드 - Google Cloud 커뮤니티 Medium
|
|
17. Vertex AI Structured Output - Google Cloud 문서
|
|
18. Gemini API 퀵스타트 - Google AI 개발자
|
|
19. Gemini API 참조 - Google AI 개발자
|
|
20. Google Developers Blog 제어된 생성 - Google 개발자 블로그
|
|
21. Controlled Generation 매거진 - tanaikech GitHub
|
|
22. Gemini API JSON 구조화 가이드 - Medium
|
|
|
|
### 6.3 PDF 처리 라이브러리 비교 (8개)
|
|
23. PyMuPDF 성능 비교 - PyMuPDF 문서
|
|
24. Python PDF 라이브러리 비교 2024 - Pythonify
|
|
25. PDF 에코시스템 2023/2024 - Medium
|
|
26. PyMuPDF vs pdf2image - GitHub 토론
|
|
27. PDF 텍스트 추출 도구 평가 - Unstract
|
|
28. Python PDF 라이브러리 성능 벤치마크 - GitHub
|
|
29. PDF 처리 방법 비교 - Medium
|
|
30. Python PDF 라이브러리 비교 - IronPDF
|
|
|
|
### 6.4 한국 건설/교통 표준 (8개)
|
|
31. 국토교통부 (MOLIT) 공식사이트 - https://www.molit.go.kr/
|
|
32. 한국 건설표준센터 - KCSC
|
|
33. 한국 건설 표준 용어집 - SPACE Magazine
|
|
34. 국제 건설 코드 한국 - ICC
|
|
35. 한국 건설 안전 규정 - CAPA
|
|
36. 건설 도면 표준 번호 체계 - Archtoolbox
|
|
37. 건설 문서 가이드 - Monograph
|
|
38. 미국 건설 도면 규격 - Acquisition.gov
|
|
|
|
### 6.5 DXF 파일 처리 및 ezdxf 라이브러리 (20개)
|
|
39. ezdxf 공식 문서 - https://ezdxf.readthedocs.io/en/stable/
|
|
40. ezdxf PyPI 패키지 - https://pypi.org/project/ezdxf/
|
|
41. ezdxf GitHub 리포지토리 - https://github.com/mozman/ezdxf
|
|
42. ezdxf 블록 튜토리얼 - Block Management Documentation
|
|
43. ezdxf 데이터 추출 튜토리얼 - Getting Data Tutorial
|
|
44. ezdxf DXF 엔티티 문서 - DXF Entities Documentation
|
|
45. Stack Overflow - ezdxf Block Reference 추출
|
|
46. Stack Overflow - DXF 텍스트 추출 방법
|
|
47. Stack Overflow - ezdxf Attribute Reference 처리
|
|
48. ezdxf Block Management Structures
|
|
49. ezdxf DXF Tags 문서
|
|
50. AutoCAD DXF Reference - Autodesk
|
|
51. FileFormat.com - ezdxf 라이브러리 가이드
|
|
52. ezdxf Usage for Beginners
|
|
53. ezdxf Quick-Info 문서
|
|
54. GitHub - ezdxf 포크 프로젝트들
|
|
55. PyDigger - ezdxf 패키지 정보
|
|
56. GDAL AutoCAD DXF 드라이버 문서
|
|
57. FME Support - AutoCAD DWG Block Attribute 추출
|
|
58. ezdxf MText 문서
|
|
|
|
### 6.6 CAD 도면 분석 및 AI 기반 처리 (12개)
|
|
59. 엔지니어링 도면 데이터 추출 - Infrrd.ai
|
|
60. werk24 PyPI - AI 기반 기술 도면 분석
|
|
61. ResearchGate - 도면 제목 블록 정보 추출 연구
|
|
62. ScienceDirect - 엔지니어링 도면에서 치수 요구사항 추출
|
|
63. Medium - TensorFlow, Keras-OCR, OpenCV를 이용한 기술 도면 정보 추출
|
|
64. GitHub - 엔지니어링 도면 추출기 (Bakkopi)
|
|
65. Werk24 - 기술 도면 특징 추출 API
|
|
66. Stack Overflow - PyPDF2 엔지니어링 도면 파싱
|
|
67. BusinesswareTech - 기술 도면 데이터 추출 AI 솔루션
|
|
68. Stack Overflow - OCR을 이용한 CAD 기술 도면 특정 데이터 추출
|
|
69. Autodesk Forums - 제목 블록/텍스트 속성 문제
|
|
70. AutoCAD DXF 공식 레퍼런스 문서
|
|
31. 국토교통부 (MOLIT) 공식사이트 - https://www.molit.go.kr/
|
|
32. 한국 건설표준센터 - KCSC
|
|
33. 한국 건설 표준 용어집 - SPACE Magazine
|
|
34. 국제 건설 코드 한국 - ICC
|
|
35. 한국 건설 안전 규정 - CAPA
|
|
36. 건설 도면 표준 번호 체계 - Archtoolbox
|
|
37. 건설 문서 가이드 - Monograph
|
|
38. 미국 건설 도면 규격 - Acquisition.gov
|
|
|
|
## 7. 개발 일정 (예상 8주)
|
|
- **1-2주차**: 프로젝트 설정 및 기본 UI 구성
|
|
- **3-4주차**: PDF 처리 및 Gemini API 연동
|
|
- **5-6주차**: UI/백엔드 연동 및 핵심 기능 구현
|
|
- **7-8주차**: 고급 기능, 테스트 및 최적화
|
|
|
|
## 8. 고려 사항
|
|
- **보안**: API 키 안전한 관리 (.env 파일 사용)
|
|
- **성능**: 대용량 PDF 파일 처리 최적화
|
|
- **사용자 경험**: 직관적인 UI 및 명확한 피드백
|
|
- **오류 처리**: 포괄적인 예외 처리 및 사용자 알림
|
|
- **호환성**: 다양한 운영체제에서의 동작 확인
|
|
|
|
## 9. 버전 관리
|
|
- Python: 3.9+
|
|
- Flet: 0.25.1+
|
|
- google-genai: 1.0+
|
|
- PyMuPDF: 1.26.3+ 또는 pdf2image: 1.17.0+
|
|
- ezdxf: 1.4.2+ (NEW - DXF 파일 처리)
|
|
- numpy: 1.24.0+ (NEW - 좌표 계산)
|
|
- python-dotenv: 1.0.0+
|
|
|
|
## 10. 다음 단계
|
|
1. requirements.txt 파일 작성
|
|
2. 기본 프로젝트 구조 생성
|
|
3. 메인 애플리케이션 뼈대 구현
|
|
4. PDF 처리 모듈 구현
|
|
5. Gemini API 연동 모듈 구현
|
|
|
|
---
|
|
**최종 업데이트**: 2025-07-09
|
|
**현재 진행률**: 100% (DXF 파일 지원 기능 통합 완료)
|
|
|
|
## 12. 최근 업데이트 (2025-07-09)
|
|
|
|
### 12.1 새로 구현된 기능
|
|
1. **조직별 스키마 선택 시스템**
|
|
- 국토교통부: 일반 토목/건설 도면 표준 스키마
|
|
- 한국도로공사: 고속도로 전용 도면 스키마
|
|
- UI에서 드롭다운으로 선택 가능
|
|
|
|
2. **gemini_analyzer.py 확장**
|
|
- `organization_type` 매개변수 추가
|
|
- 동적 스키마 선택 로직 구현
|
|
- `schema_transportation`, `schema_expressway` 분리
|
|
|
|
3. **UI 컴포넌트 개선**
|
|
- `create_analysis_settings_section_with_refs()` 함수 추가
|
|
- 조직별 설명 텍스트 포함
|
|
- 직관적인 선택 인터페이스 제공
|
|
|
|
4. **main.py 통합**
|
|
- 조직 선택 이벤트 핸들러 추가
|
|
- 분석 시 선택된 조직 유형 전달
|
|
- 결과에 조직 정보 포함
|
|
|
|
### 12.2 기술적 개선사항
|
|
- 30개 이상 웹사이트 심층 연구 완료
|
|
- Flet 최신 드롭다운 API 활용
|
|
- Gemini API Structured Output 최신 기능 적용
|
|
- 한국 건설 표준 및 도로공사 규격 조사
|
|
|
|
### 12.3 UI 레이아웃 개선 세부사항 (2025-07-09)
|
|
- 창 크기 조정: 1400x900 기본, 최소 1200x800
|
|
- ResponsiveRow 반응형 브레이크포인트: sm(12), md(5/7), lg(4/8)
|
|
- PDF 뷰어 모달: 650x750 크기, 이미지 600x700 컴테이너
|
|
- 50개 이상의 웹사이트 연구로 Flet 최신 기능 적용
|
|
|
|
### 12.4 DXF 파일 지원 구현 완료 (2025-07-09) ✅
|
|
|
|
**완성된 기능:**
|
|
1. **파일 형식 확장**: requirements.txt에 ezdxf v1.4.2+, numpy v1.24.0+ 추가
|
|
2. **DXF 처리 모듈**: dxf_processor.py 완전 구현
|
|
- Block Reference 추출 및 분석
|
|
- Attribute Reference에서 도곽 정보 추출
|
|
- 도곽 식별 로직 (건설분야, 건설단계, 도면명, 축척, 도면번호)
|
|
- Text Bounding Box 좌표 계산
|
|
- 최외곽 Bounding Box 계산
|
|
3. **설정 업데이트**: config.py에 DXF 파일 지원 추가
|
|
4. **UI 업데이트**: ui_components.py에 PDF/DXF 지원 텍스트 추가
|
|
5. **메인 애플리케이션**: main.py 기본 구조 수정 및 DXF 지원 메서드 설계
|
|
6. **지원 메서드**: dxf_support_methods.py에 다음 기능 구현
|
|
- DXF 파일 선택 처리
|
|
- DXF 분석 실행 로직
|
|
- DXF 결과 표시 UI
|
|
|
|
**기술적 세부사항:**
|
|
- ezdxf 라이브러리를 통한 DXF 파일 파싱
|
|
- Block Reference 순회 및 Attribute Reference 추출
|
|
- 도곽 식별을 위한 키워드 매칭 알고리즘
|
|
- numpy를 이용한 좌표 계산 및 Bounding Box 처리
|
|
- 데이터클래스를 통한 구조화된 데이터 처리
|
|
- 포괄적인 오류 처리 및 로깅 시스템
|
|
|
|
**다음 단계 (완료):**
|
|
1. ✅ main.py에 dxf_support_methods.py의 메서드들 통합 완료
|
|
2. ✅ 파일 선택 로직 DXF 지원으로 완전 업데이트 완료
|
|
3. ✅ DXF 분석 결과 UI 통합 및 테스트 완료
|
|
4. ✅ 전체 기능 통합 및 테스트 완료
|
|
|
|
### 12.6 DXF 지원 기능 통합 완료 (2025-07-09) ✅
|
|
|
|
**완성된 통합 작업:**
|
|
1. **파일 선택기 확장**: PDF와 DXF 파일 확장자 모두 지원
|
|
2. **파일 선택 로직 업데이트**:
|
|
- `on_file_selected` 메서드를 PDF/DXF 파일 타입 자동 감지로 완전 교체
|
|
- `_handle_pdf_file_selection`과 `_handle_dxf_file_selection` 메서드 추가
|
|
- `_reset_file_state` 메서드로 파일 상태 초기화
|
|
3. **분석 실행 로직 확장**:
|
|
- `run_analysis` 메서드를 PDF/DXF 타입별 분석으로 완전 교체
|
|
- `_run_pdf_analysis`와 `_run_dxf_analysis` 메서드 분리
|
|
- `display_dxf_analysis_results` 메서드 추가
|
|
4. **UI 통합**:
|
|
- 파일 타입별 미리보기 활성화/비활성화
|
|
- DXF 분석 결과 전용 UI 표시
|
|
- 파일 정보 표시 개선 (PDF/DXF 구분)
|
|
5. **변수명 통일**:
|
|
- `current_pdf_path` → `current_file_path`
|
|
- `current_file_type` 변수로 PDF/DXF 구분
|
|
- `DocumentAnalyzerApp` 클래스명 통일
|
|
6. **저장 기능 확장**: PDF와 DXF 분석 결과 모두 지원
|
|
|
|
**기술적 성과:**
|
|
- 단일 애플리케이션에서 PDF(Gemini API)와 DXF(ezdxf) 분석 완전 지원
|
|
- 파일 타입 자동 감지 및 적절한 분석 방법 선택
|
|
- 20개 이상의 웹사이트 연구를 통한 최신 기술 적용
|
|
- Flet 프레임워크의 FilePicker 최신 기능 활용
|
|
- 모듈화된 코드 구조로 유지보수성 향상
|
|
|
|
### 12.7 프로젝트 완료
|
|
- ✅ PDF/DXF 통합 문서 분석기 완전 구현
|
|
- ✅ 모든 핵심 기능 동작 확인
|
|
- ✅ 사용자 인터페이스 최종 완성
|
|
- ✅ 프로젝트 목표 100% 달성
|
|
|
|
## 11. 구현 완료된 파일들
|
|
- ✅ `config.py` - 환경 변수 및 설정 관리
|
|
- ✅ `pdf_processor.py` - PDF 처리 및 이미지 변환
|
|
- ✅ `gemini_analyzer.py` - Gemini API 연동 (조직별 스키마 지원)
|
|
- ✅ `ui_components.py` - UI 컴포넌트 정의 (조직 선택 기능 포함)
|
|
- ✅ `main.py` - 메인 애플리케이션 (조직별 분석 통합)
|
|
- ✅ `requirements.txt` - 의존성 목록
|
|
- ✅ `.env.example` - 환경 변수 템플릿
|
|
- ✅ `advanced_features.py` - 고급 기능 모듈
|
|
- ✅ `utils.py` - 유틸리티 함수들
|
|
- ✅ `test_project.py` - 테스트 스크립트
|