Commit Graph

32 Commits

Author SHA1 Message Date
DESKTOP-TKLFCPR\ython
a32eb6212a manual-deploy 2026-06-03 16:13 2026-06-03 16:13:48 +09:00
GUARDiA AutoDeploy
a8242abddb feat(homepage): GUARDiA 기능 업데이트 — 자율화 카테고리 추가 + 1000+ API + 라이브 데모 링크 [auto-sync] 2026-06-03 16:02:34 +09:00
GUARDiA AutoDeploy
0cc071e9ef feat(parent): GUARDiA 부모 역할 4가지 구현 완성 [auto-sync] 2026-06-03 15:08:19 +09:00
DESKTOP-TKLFCPR\ython
81493e355d sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-03 09:26:44 +09:00
DESKTOP-TKLFCPR\ython
d0685384d7 sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-02 20:37:36 +09:00
DESKTOP-TKLFCPR\ython
d938a7ec81 sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-02 19:05:43 +09:00
DESKTOP-TKLFCPR\ython
ff947ad1e6 feat(homepage): expand GUARDiA features to 36+ with category grid 2026-06-01 20:48:32 +09:00
DESKTOP-TKLFCPR\ython
cb8a99cb8d sync: update from workspace (latest ITSM/CICD/DR changes) 2026-06-01 19:59:45 +09:00
DESKTOP-TKLFCPR\ython
e768136e5d fix(ui): 로고 필터 제거, 메뉴 네비게이션 오류 수정
- Header.css: filter brightness/invert 완전 제거, cursor:pointer 추가
- Header.jsx: 상단 메뉴 클릭 시 첫 하위 페이지 이동, 드롭다운 닫힘 딜레이 200ms
- SolutionPage.jsx: 폴백 라우트 * 추가
2026-06-01 01:53:57 +09:00
DESKTOP-TKLFCPRython
7c3a071e64 feat(screenshots): Manager dashboard real screenshots + GuardiaDetail update
Manager screenshots (Variant design applied):
- manager_01_login.png: login page
- manager_02_dashboard.png: main dashboard (SR charts, sidebar)
- manager_03_servers.png: server list
- manager_04_scraping.png: scraping bot management
- manager_05_deployments.png: deployment history

GuardiaDetail.jsx:
- Manager section screenshots updated to real captured files
- 07_manager_* -> manager_0N_* (actual filenames)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 21:52:21 +09:00
DESKTOP-TKLFCPRython
610b57378f fix(multi): header logo dark + Manager login JSON + Jenkinsfile manual exclude
Header.jsx:
- logo: zioinfo-logo.png -> zioinfo-logo-dark.png (dark header background)

GuardiaDetail.jsx:
- 12 features (RPA, scraping, DR, CSAP, NL commands added)
- 44 bot commands (vs 19 before)
- Tech stack: Vector DB section added

Jenkinsfile (root + zioinfo-web):
- sparse checkout: exclude manual/ from Jenkins build
- only frontend/ and backend/ checked out

Manager useAuth.ts:
- login: form-encoded -> JSON (ITSM accepts JSON only)

Manuals:
- 41_zio서버_DB_연결정보.md
- 42_zio서버_소프트웨어_구성도.md

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 21:36:48 +09:00
DESKTOP-TKLFCPRython
97bb50128e feat(guardia-page): update to v2.0 features + manuals + Jenkins exclude
GuardiaDetail.jsx:
- FEATURES: 8 -> 12 (RPA봇, 스크랩핑, DR, CSAP, 자연어명령 추가)
- BOT_COMMANDS: 19 -> 44 (스크랩봇, CI/CD, PMS, 보안, 디자인 명령어 추가)
- TECH_STACK: Vector DB(pgvector/ChromaDB/LangChain), 자동화봇 추가

Jenkinsfile:
- sparse checkout: manual/ 폴더 체크아웃 제외 (배포 대상 아님)
- workspace/zioinfo-web/Jenkinsfile 동일 적용

Manuals:
- manual/41_zio서버_DB_연결정보.md: PostgreSQL/Gitea/Ollama/ChromaDB/SMTP/SSH
- manual/42_zio서버_소프트웨어_구성도.md: 전체 SW 구성도 + 아키텍처

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 21:10:36 +09:00
DESKTOP-TKLFCPRython
23b44d2e95 feat(ci): dark bg logo - text white, logo mark unchanged
- make_dark_logo.py: PIL 이미지 처리 (상단 검정 텍스트 + 하단 진한 파랑 텍스트 → 흰색)
- 로고 마크(파랑/회색 큐브)는 원본 유지
- Company.jsx: 다크 배경용 이미지를 zioinfo-logo-dark.png로 변경 (filter 제거)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 19:45:26 +09:00
DESKTOP-TKLFCPRython
dfc8f1484b feat(design): Variant UI style applied - layout maintained
Based on Variant ZIO Complete Website design (screenshot1-13):
- tokens.css: color palette (#003366, #005A8C, #00A0C8), Pretendard font, 4px grid
- global.css: section-label-v, section-title-v, v-card, v-stats-section, btn-v-*
- Home.jsx: SVG icons for Business cards, Variant-style section labels, dark navy KPI section
- Common.css: page-hero improved (navy gradient), section labels cyan, sub-nav refined

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 19:18:25 +09:00
DESKTOP-TKLFCPRython
4137e3ec90 feat(history): company history DB management + admin CRUD
- CompanyHistory JPA entity (tb_company_history)
- CompanyHistoryRepository
- GET /api/history: DB-based grouped history (year + items[])
- Admin CRUD: GET/POST/PUT/DELETE /api/admin/history
- DataInitializer: 35 history items seeded from 2000 to 2026
- Company.jsx: useHistory() hook -> API fetch with fallback
- AdminHistory.jsx: year-grouped timeline CRUD UI
- AdminLayout: 회사 연혁 menu added

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 17:52:02 +09:00
DESKTOP-TKLFCPRython
64921e44e8 feat(screenshots): Playwright 실제 화면 캡처 + GuardiaDetail 업데이트
- Playwright 자동화로 ITSM 로그인/대시보드 + 홈페이지 11개 페이지 캡처
- GuardiaDetail.jsx ITSM 섹션: itsm_02_dashboard.png / itsm_01_login.png 적용

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 17:40:02 +09:00
DESKTOP-TKLFCPRython
a2e4f49b81 fix(homepage): white screen fix + login message + vibe coding manual
- useMemberAuth: return null to loading spinner
- MemberOnly: add login/register message
- manual/40: vibe coding guide (closed/open network)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 16:55:19 +09:00
DESKTOP-TKLFCPRython
c67a9d2037 feat(footer): 푸터 로고 logo_bottom.png 교체
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 15:52:52 +09:00
DESKTOP-TKLFCPRython
651562b339 feat(logo): 이미지 파일명 영문 변경 + 서버 직접 배포 완료
- 지오정보기술로고.png → zioinfo-logo.png
- 지오정보기술사옥전경.png → zioinfo-building.png
- Header/Footer/Company.jsx 참조 경로 영문 수정
- SFTP 직접 배포로 서버 반영 완료

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 15:51:02 +09:00
DESKTOP-TKLFCPRython
fee9b812f6 chore: node_modules git 추적 제거 + .gitignore 추가
- .gitignore에 node_modules/ 추가
- git rm --cached로 3000+ node_modules 파일 추적 제거
- 이후 Gitea push 크기 정상화, 자동 배포 정상화

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 15:11:21 +09:00
DESKTOP-TKLFCPRython
25dc1b85d9 feat(contact): 연락처 정보 수정 + 푸터/헤더 실제 로고 이미지 적용
- Contact.jsx: 대표전화 02-000-0000 → 031-483-1766, 주소 서울특별시 → 경기도 안산시 단원구 광덕4로 220 오피스브이 578호
- Footer.jsx: logo-white.png → 지오정보기술로고.png (화이트 필터 적용)
- 빌드 결과물 갱신 (Contact·Footer·CI 페이지 반영)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 14:54:43 +09:00
DESKTOP-TKLFCPRython
6bd4ce5070 feat(ci): CI 소개 페이지 실제 로고 이미지 적용 + 헤더 로고 교체
- 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>
2026-05-31 13:37:05 +09:00
DESKTOP-TKLFCPRython
8758ff0b91 feat(seo): 홈페이지 SEO 최적화 — 메타태그·sitemap.xml·robots.txt
## index.html (기반 메타태그)
- title: 풀네임 + 키워드 포함
- description: 160자 최적화
- keywords: 지오정보기술·GUARDiA·공공기관IT·안산IT기업 등
- og:type/title/description/url/image/locale
- twitter:card/title/description/image
- JSON-LD: Organization (주소·전화·대표자) + WebSite 스키마
- 네이버/구글 서치콘솔 인증 주석 준비

## public/sitemap.xml (26개 URL)
- priority: 홈 1.0, GUARDiA 0.9, 오시는길·문의 0.8
- changefreq: 뉴스/공지 weekly, 솔루션 monthly, 약관 yearly

## public/robots.txt
- Googlebot/Yeti(네이버) Allow, Baiduspider Disallow
- /admin/ /api/ Disallow
- Sitemap 경로 명시

## hooks/useSeoMeta.js
- 페이지별 title/description/og/twitter/canonical 동적 업데이트

## 적용 페이지 (6개)
- Home: AI 인프라 자율 운영 키워드
- GuardiaDetail: GUARDiA ITSM 상세 설명
- Company>Greeting: CEO 인사말·홍영택
- Company>Location: 안산 주소·전화번호
- Privacy/Terms/Sitemap: 각 페이지 설명

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 12:39:46 +09:00
DESKTOP-TKLFCPRython
8c4e189576 feat(homepage): 개인정보처리방침·이용약관·사이트맵 페이지 추가
- Privacy.jsx: 개인정보처리방침 (수집항목/목적/보유기간/권리/책임자)
- Terms.jsx: 이용약관 (10개 조항, 지오정보기술 정보 포함)
- Sitemap.jsx: 전체 메뉴 그리드 안내 (9개 섹션)
- App.jsx: /privacy, /terms, /sitemap 라우트 등록
- Common.css: prose/policy 스타일 추가

URL:
  https://zioinfo.co.kr/privacy
  https://zioinfo.co.kr/terms
  https://zioinfo.co.kr/sitemap

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 12:31:38 +09:00
DESKTOP-TKLFCPRython
257ccb57af feat(homepage): GUARDiA 모바일 앱 목업 스크린샷 5장 생성 + 앱 탭 추가
- 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>
2026-05-31 12:27:48 +09:00
DESKTOP-TKLFCPRython
d972852038 feat(homepage): GUARDiA 소개 화면 실제 스크린샷 업데이트
- 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>
2026-05-31 12:16:09 +09:00
DESKTOP-TKLFCPRython
c86bd72830 feat(homepage): 회원가입·로그인·SNS 로그인 + 관리자 회원관리
## 홈페이지 (프론트엔드)
- 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>
2026-05-31 11:49:21 +09:00
DESKTOP-TKLFCPRython
880d9cbcfc feat(homepage): 회사 정보 업데이트 + 네이버 지도 연동
회사 정보 변경:
- 대표이사: 홍영택
- 전화: 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>
2026-05-31 11:16:37 +09:00
DESKTOP-TKLFCPRython
1e98f0d04a refactor: 101.79.17.164 → zioinfo.co.kr 전체 도메인 변환 + Manager UI 배포
- 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>
2026-05-31 10:09:17 +09:00
DESKTOP-TKLFCPRython
6e02e7efe0 feat(admin): 홈페이지 관리자 시스템 구현
- 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>
2026-05-30 18:40:24 +09:00
DESKTOP-TKLFCPRython
abd4dde1a8 feat(setup): Claude Code Desktop 자동 설치 + 30일 라이선스 + 서비스 자동 실행
[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>
2026-05-30 09:06:14 +09:00
DESKTOP-TKLFCPRython
2b2c7204ed feat(zioinfo-web): (주)지오정보기술 홈페이지 Spring Boot+React 구현
Spring Boot 3.2 + React 18 SPA + SQLite
GUARDiA PMS ZIO-WEB-2026 프로젝트 연동
URP 스타일 디자인, GUARDiA 솔루션 상세 소개 (스크린샷 6장)
25개 ChatOps 봇 명령어 카탈로그, Messenger Bot 시나리오 데모
manual/17 개발가이드 생성

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-30 08:27:40 +09:00