- app_deploy.py: AppVersion.tenant_id 제거, file_size→file_size_mb, qr_data 필드 정렬
- app_deploy.py: sa_update import 방식 수정, AppDownloadLog 필드명 수정
- smart_notify.py: channels Field description 타입 오류 수정 (list→str)
- contacts.py: 상대 임포트로 변경 (.auth), SQLite 독립 저장소 방식
- signature.py: 상대 임포트로 변경 (.auth), SQLite 독립 저장소 방식
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 기능 카테고리: 5개 → 8개 (AI지능자동화/ITSM핵심/인프라클라우드/보안컴플라이언스/외부연동OCR/공공기관특화/SaaS멀티테넌트/DevOps)
- 총 기능 수: 36개 → 80개+ (카테고리당 6~10개)
- 하이라이트 카드: 12개 → 16개 (RAG검색/Text-to-SQL/OCR/멀티클라우드/CMDB자동발견 추가)
- 히어로 통계: 40+기능 → 754+엔드포인트 / 100+기능
- 섹션 제목: '36가지' → '100가지 이상 핵심 기능'
- 에디션 기능 업데이트: OCR·K8s·멀티클라우드·나라장터·SSO 반영
- 기술 스택: Upstage·AWS·K8s·Jira·Slack·ServiceNow 추가
- SEO: 새 키워드 반영 (RAG·Text-to-SQL·Upstage OCR·나라장터 등)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
upstage_ocr.py (8개 엔드포인트):
- /api/ocr/config: API Key 설정 (AES-256-GCM 암호화)
- /api/ocr/parse: 문서 파싱 (PDF/이미지 → 구조화 JSON)
- /api/ocr/extract: 정보 추출 (Key-Value, 스키마 기반)
- /api/ocr/qa: 문서 QA (자연어 질의)
- /api/ocr/batch: 다중 파일 배치
- /api/ocr/history: 처리 이력
- /api/ocr/usage: API 사용량
doc_workflow.py (9개 엔드포인트 — 7종 워크플로우):
- /api/docflow/contract: 나라장터 계약서 → 조달 자동 등록
- /api/docflow/server-spec: 납품서 → CMDB 자동 등록
- /api/docflow/invoice: 청구서 → 과금 연동
- /api/docflow/audit-report: CSAP 보고서 → 준수율
- /api/docflow/incident-report: 장애보고서 → SR 자동 생성
- /api/docflow/meeting-minutes: 회의록 → 액션아이템 SR
- /api/docflow/brand-contract: 현대백화점 등 브랜드 계약서
doc_template.py (5개 엔드포인트):
- 내장 7종 템플릿 (나라장터/납품서/브랜드계약/청구서/장애/CSAP/회의록)
- 커스텀 템플릿 CRUD
DB 모델 (4개): UpstageOCRConfig, OCRHistory, DocWorkflowJob, DocTemplate
ITSM 사이드바: '문서 AI (OCR)' 그룹 추가 (9개 메뉴)
민감 정보 자동 마스킹 (주민번호/카드번호/전화번호)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
CMDB 자동 발견 (4개):
- autodiscovery.py: SSH 네트워크 스캔 + CMDB 자동 등록
- snmp_discovery.py: SNMP v2c/v3 장비 자동 발견
- dependency_map.py: 서비스 의존성 자동 매핑 (netstat)
- config_inventory.py: 서버 인벤토리 자동 수집 (SSH)
NL 쿼리 엔진 (3개):
- nlquery.py: Text-to-SQL (SELECT 전용, DML 차단)
- op_assistant.py: Multi-turn 대화형 운영 어시스턴트
- query_history.py: 쿼리 이력·즐겨찾기·공유
구성 드리프트 (3개):
- drift_detection.py: 골든 구성 vs 실제 비교·SR 자동 생성
- golden_config.py: 내장 CSAP 템플릿 + 버전 관리
- auto_remediation.py: 승인 기반 자동 교정 + 롤백
멀티클라우드 (4개):
- multicloud.py: 통합 관제 (NCloud+AWS+KT)
- aws_connector.py: AWS SigV4 직접 서명 연동
- cost_optimizer.py: AI 비용 최적화 권고
- cloud_migration.py: On-prem→K-Cloud 체크리스트
공공기관 특화 (6개):
- narasajang.py: 나라장터 OpenAPI 연동
- public_api_hub.py: data.go.kr KISA·기상청 허브
- isp_support.py: ISP 수립 지원 + AI 보고서
- network_zone.py: 행정망/인터넷망 분리 관리
- k_cloud.py: 정부 K-Cloud 전환 자동화
- e_procurement.py: 전자조달 계약·검수·납품
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
ITSM static (app.js + index.html):
- 사이드바: AI플랫폼·분석KPI·클라우드·외부연동·SaaS 5개 그룹 추가
- 23개 신규 뷰 핸들러 (rag_search, kpi_dashboard, bi_dashboard, jira_sync 등)
- 액션 헬퍼 함수 20개+ (재계산, 파인튜닝, 보고서 생성, 데이터 기여 등)
Manager 5개 신규 페이지:
- KpiDashboard.tsx: KPI 신호등 대시보드 + 재계산
- BiAnalytics.tsx: SR트렌드·카테고리파이·MTTR·엔지니어워크로드
- BillingManage.tsx: 구독플랜·사용량·청구서 이력
- IntegrationHub.tsx: Jira/Slack/ServiceNow/ERP/Kakao/SSO 탭
- AiPlatform.tsx: AI인사이트·LearningLoop·예측·벤치마킹
Messenger 신규 탭:
- insights.tsx: AI 주간 인사이트 + SLA 예측 + 이상 감지
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
라우터 (584개 엔드포인트, 신규 39개):
- rag_engine.py: 하이브리드 RAG 검색 (BM25+pgvector+RRF) + Ollama 답변
- jira_sync.py: Jira 양방향 SR 동기화 + 웹훅 수신
- kpi_engine.py: KPI 정의·계산·신호등 + 내장 5개 템플릿
- tenant_portal.py: 테넌트 셀프서비스 포털 + 사용자 초대
- bi_dashboard.py: BI 대시보드 (트렌드·히트맵·퍼널·MTTR)
- autonomous_workflow.py: 조건 기반 자율 워크플로우 엔진
DB 모델 (7개 신규 테이블):
tb_rag_feedback, tb_jira_config, tb_jira_sync_mapping,
tb_kpi_definition, tb_kpi_value,
tb_auto_workflow_rule, tb_auto_workflow_run
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- mail_parser: _safe() surrogate 문자 제거 → JSON 직렬화 오류 수정
- imap_client: aioimaplib → 동기 imaplib으로 전환 (파싱 안정성)
- smtp_client: aiosmtplib → 동기 smtplib으로 전환 + raw bytes 반환
- main.py: 발송 후 append_to_sent() → Sent 폴더 자동 저장
- MailList: Sent 폴더에서 받는사람 표시 (→ info@...)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- make_dark_logo.py: PIL 이미지 처리 (상단 검정 텍스트 + 하단 진한 파랑 텍스트 → 흰색)
- 로고 마크(파랑/회색 큐브)는 원본 유지
- Company.jsx: 다크 배경용 이미지를 zioinfo-logo-dark.png로 변경 (filter 제거)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- .gitignore에 node_modules/ 추가
- git rm --cached로 3000+ node_modules 파일 추적 제거
- 이후 Gitea push 크기 정상화, 자동 배포 정상화
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- CI.jpg 심볼 + 지오정보기술로고.png 메인 로고 실이미지 표시
- 디자인 콘셉트·색상 체계·경영철학 신규 내용으로 전면 개편
- Header.jsx: logo.png → 지오정보기술로고.png (fallback: ziologo.png)
- CEO 인사말: 아바타 플레이스홀더 → 사옥전경.png 원형 이미지 교체
- 빌드 결과물 반영 (backend/static 갱신)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Playwright headless로 HTML 목업 → PNG 스크린샷 변환
11_app_home.png 홈 대시보드 (SR·서버 실시간 현황)
12_app_sr.png SR 서비스 요청 목록
13_app_chat.png AI 챗봇 (Ollama 연동)
14_app_dr.png DR 재해복구 RTO/RPO 모니터링
15_app_network.png 네트워크 장비 백업 현황
- GuardiaDetail.jsx: '모바일 앱' 탭 신규 추가
5장 목업 5열 그리드 (390x844 세로 비율)
Google Play / App Store 다운로드 배지
- GuardiaDetail.css: 모바일 스크린샷 5열 그리드 스타일
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Playwright headless 촬영으로 실제 배포 화면 스크린샷 10장 캡쳐
ITSM: 대시보드/SR목록/인시던트/AI에이전트/라이선스 (5장)
Manager: 대시보드/DR관제/네트워크장비/CSAP점검 (4장)
Messenger: 모바일 앱 화면 (1장)
- GuardiaDetail.jsx: 3개 섹션으로 분리 표시
- GUARDiA ITSM 5장 (3열 그리드)
- GUARDiA Manager 4장 (2열 그리드)
- GUARDiA Messenger 모바일 앱 (세로 비율)
- 탭 메뉴: 'Manager' 탭 신규 추가 (4장 2열 뷰)
- GuardiaDetail.css: 모바일 앱 세로 스크린샷 스타일 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
## 홈페이지 (프론트엔드)
- MemberLogin.jsx: 회원가입/로그인 통합 페이지 + 카카오·네이버·구글 SNS 버튼
- MemberAuth.css: 인증 페이지 공통 스타일
- hooks/useMemberAuth.jsx: 회원 인증 상태 훅 + MemberOnly 컴포넌트 (회원 전용 잠금)
- Header.jsx: 로그인/회원가입 버튼 + 로그인 시 이름/로그아웃 표시
- Contact.jsx: 문의 상담 신청 → 회원 전용 (MemberOnly 적용)
- App.jsx: /login, /register 라우트 추가
## 관리자 (Admin)
- AdminMember.jsx: 회원 목록/검색/상태변경/삭제 페이지
- AdminLayout.jsx: '회원 관리' 메뉴 추가
- App.jsx: /admin/members 라우트 추가
## 백엔드 (Spring Boot)
- Member.java: 회원 엔티티 (id/name/email/password/phone/company/role/active)
- MemberRepository.java: 이메일 조회·중복확인·키워드 검색
- MemberController.java: 회원가입·이메일 중복확인·로그인·SNS 로그인·내 정보 CRUD
- AdminController.java: 회원관리 API (목록/상세/상태변경/삭제) + 대시보드에 회원 수 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
회사 정보 변경:
- 대표이사: 홍영택
- 전화: 031-483-1766
- 주소: 경기도 안산시 단원구 광덕4로 220 오피스브이 578호
적용 파일:
- Footer.jsx: 전화/주소 업데이트
- Company.jsx: CEO 인사말 대표이사명, 오시는 길 주소/전화/교통 안내
- Company.jsx: 지도 → 네이버 지도 iframe 연동
- Support.jsx: 고객지원 전화번호 전체 변경
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- 37개 파일 IP → zioinfo.co.kr 치환 (소스/매뉴얼/설정/하네스)
- Manager DrConsole/NetworkConsole/CsapConsole 빌드 + /var/www/manager/ 배포
- 테스트: Manager HTTP 200, ITSM 신규 API 7개 전체 200
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Spring Security + JWT 인증 (8시간 토큰)
- AdminUser / Recruit 엔터티 추가
- AdminController: 로그인, 대시보드, 뉴스/문의/채용 CRUD
- React 어드민 SPA: /admin/* 라우트 (Header/Footer 없음)
- 로그인, 대시보드, 뉴스 관리, 문의 관리, 채용공고 관리, 설정
- Jenkinsfile: 서버 환경 맞춤 CI/CD 파이프라인
- .gitignore 추가
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
[Claude Code Desktop 자동 설치 환경]
- setup/CLAUDE.md: 트리거 키워드 + 설치 패키지 설명
- setup/.claude/skills/guardia-install/SKILL.md: 6단계 설치 오케스트레이터
Phase 0: 의도 파악 → Phase 1: OS 감지 → Phase 2: 사전 확인
Phase 3: 설치 실행 → Phase 4: 라이선스 발급 → Phase 5: 검증 → Phase 6: 완료보고
[통합 자동 설치 스크립트]
- setup/install_auto.sh: Linux 통합 (OS 자동 감지 ubuntu/centos/rhel)
- --license trial30|trial7|<key> 파라미터
- 설치 완료 후 GUARDiA 자동 실행 + 브라우저 자동 열기
- --test 검증 모드
- setup/install_auto.ps1: Windows 통합 (ASCII 전용, PS 5.1 호환)
- 설치 후 NSSM 서비스 자동 시작 + 브라우저 자동 열기
- -Test 파라미터로 검증 전용 실행
[라이선스 엔진 개선]
- core/license.py: generate_trial_key(days=None) 파라미터 추가
- TRIAL_DURATION_DAYS = TRIAL_DURATION_DAYS 환경변수로 조정 가능
- routers/license.py: TrialRequest.days 필드 + 30일 체험판 지원
POST /api/license/trial {"days": 30} 로 30일 발급
사용자 경험:
1. setup/ 폴더를 새 PC에 복사
2. Claude Code Desktop 열고 해당 폴더 open
3. "GUARDiA 시스템 1달 사용자로 설치해 줘" 입력
4. 자동으로 OS 감지 → 설치 → 30일 라이선스 → 브라우저 열림
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
[start.sh (Linux/Mac)]
- mvnw(Wrapper) 우선 사용 → 시스템 Maven → 자동 설치 순서
- Maven 없으면: apt/dnf/yum 패키지 관리자 → 수동 tar.gz 설치
- 모드: dev (핫리로드) | prod (빌드+실행) | build (빌드만) | spring-only
[start.ps1 (Windows)]
- mvnw.cmd → 시스템 mvn → Chocolatey → 수동 zip 설치
- Start-Job으로 Spring Boot 백그라운드 실행 + npm run dev 병렬
[.mvn/wrapper/maven-wrapper.properties]
- Maven 3.9.6 Wrapper 설정 (첫 실행 시 자동 다운로드)
[setup_ubuntu.sh]
- INSTALL_MAVEN=true/false 옵션 추가 (기본 true)
- 이미 설치된 경우 건너뜀
사용법:
bash workspace/zioinfo-web/start.sh dev # 개발
bash workspace/zioinfo-web/start.sh prod # 운영
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
[설치 스크립트 수정사항]
- PYTHONIOENCODING=utf-8 systemd/NSSM 서비스 환경변수 추가 (Windows cp949 오류 예방)
- db_init.py 헬퍼 추가: 스키마 불일치 자동 감지 → 백업 → 재초기화
- 포트 8001 충돌 감지 및 기존 프로세스 자동 종료 로직 추가
- --test 검증 항목 강화: HTTP 응답 + 로그인 API + UTF-8 인코딩 포함
- setup_ubuntu/centos/rhel: PYTHONUNBUFFERED=1 추가
[workspace 자동분석 워크플로우]
- workspace/ 디렉토리 생성 (소스코드 투입 위치)
- .claude/skills/workspace-analyzer/SKILL.md 스킬 생성
Phase 0~6: 탐색→스택탐지→심층분석→리포트→개발환경가이드→하네스생성→CLAUDE.md
- CLAUDE.md에 workspace 워크플로우 안내 등록
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>