Commit Graph

1644 Commits

Author SHA1 Message Date
김보곤
2401f4cd4a chore: [env] .env.example 추가 및 .gitignore 정리
- .env.example 생성 (서버 설정 시 참조 템플릿)
- .gitignore에 !.env.example 예외 추가
- 공유 API 키, 프로젝트 전용 키 구분 문서화
2026-02-23 10:17:33 +09:00
김보곤
83c6ee8b62 feat: [academy] 전문용어 툴팁 기능 추가
- 3개 백과사전 페이지 공용 glossary-tooltip 컴포넌트
- JS TreeWalker 자동 감지 + CSS-only 풍선 툴팁
- 도메인별 용어사전: 방화셔터/IT기획/서버지식 각 25~30개
2026-02-23 10:10:46 +09:00
김보곤
52b26c7216 refactor: [ai-config] 모든 API 키를 DB(ai_configs)에서 .env로 전환
- AiConfig::getActiveGemini() → config('services.gemini') 기반
- AiConfig::getActiveGcs() → config('services.google') 기반
- AiConfig::getActiveClaude() → config('services.claude') 기반
- AiConfig::getActiveNotion() → config('services.notion') 기반
- GoogleCloudStorageService: DB 우선 로직 제거, .env만 사용
- 8개 서비스 파일은 수정 없이 동작 (AiConfig 인터페이스 유지)
2026-02-23 09:55:07 +09:00
김보곤
1b73fd1cf2 refactor: [notion] API 키를 DB(ai_configs)에서 .env로 전환
- NotionService: AiConfig::getActiveNotion() → config('services.notion')
- config/services.php에 notion 섹션 추가
- .env에 NOTION_API_KEY, NOTION_VERSION 추가
2026-02-23 09:48:40 +09:00
김보곤
0d8d5aa8ef feat: [academy] 서버지식 백과사전 페이지 추가
- AcademyController에 serverKnowledge() 메서드 추가
- /academy/server-knowledge 라우트 등록
- 그린 테마 Blade 뷰 (5대 섹션, 18소 섹션)
- SVG 이미지 12장 생성
- 이미지 생성 프롬프트 문서 작성
2026-02-23 09:43:43 +09:00
김보곤
a71756db71 feat: [academy] 서버지식 백과사전 SVG 이미지 12종 추가
- 1.svg: 서버룸 히어로 이미지
- 2.svg: SAM 5-서비스 건물 지도
- 3.svg: 요청 처리 흐름도
- 4.svg: Linux 사용자/그룹 조직도
- 5.svg: drwxrwxr-x 권한 해독 인포그래픽
- 6.svg: umask 계산법 (666 - 022 = 644)
- 7.svg: 사고 타임라인 5단계
- 8.svg: Git 배포 택배 비유
- 9.svg: Hook 동작 흐름 + 권한 체크포인트
- 10.svg: 금지 작업 경고 카드
- 11.svg: 올바른 대응 절차 4단계
- 12.svg: 안전/위험 명령 비교 테이블
2026-02-23 09:42:46 +09:00
김보곤
afb23ca809 fix: [academy] IT기획 SVG 파일 XML 파싱 에러 수정
- 3.svg: & → & 이스케이프 (Iterative & Incremental)
- 11.svg: & → & 이스케이프 (What & Why, Look & Feel)
2026-02-23 09:37:40 +09:00
김보곤
13b304f274 docs: [academy] 서버지식 백과사전 이미지 생성 프롬프트 문서 추가 2026-02-23 09:35:11 +09:00
김보곤
336a3972f4 feat: [academy] IT기획 백과사전 SVG 일러스트레이션 12장 추가
- 히어로, 역할 다이어그램, 프로세스 흐름도 등 12장 SVG 생성
- Blade 파일 이미지 확장자 .png → .svg 변경
2026-02-23 09:25:38 +09:00
김보곤
92a11e139c feat: [academy] IT기획 백과사전 추가
- 5개 섹션: 개요, 기획 프로세스, 산출물, 도구, 방법론
- 방화셔터와 동일한 백과사전 UI 패턴 (블루 테마)
- AI 이미지 생성 프롬프트 문서 포함
2026-02-23 09:05:17 +09:00
김보곤
c9495b160d feat: [additional] DOCX 관리 페이지 추가
- 파일시스템 스캔 기반 DOCX 목록 조회/다운로드
- 카테고리별 필터, 파일명 검색 기능
- 경로 트래버설 방지 보안 검증
2026-02-23 08:37:38 +09:00
김보곤
afce5a2f70 feat: [additional] PPTX 관리에 영업(sales) 폴더 스캔 경로 추가 2026-02-23 08:08:31 +09:00
김보곤
1bb2ac32f9 feat: [additional] PPTX 관리 페이지 추가
- 파일시스템 스캔 기반 PPTX 목록 조회/다운로드
- 카테고리별 필터, 파일명 검색 기능
- 경로 트래버설 방지 보안 검증
2026-02-23 07:57:39 +09:00
김보곤
576b1d9f6b feat: [additional] RAG 검색에 토큰 비용 안내 및 사용량 표시 추가
- 검색 전 비용 안내 문구 (건당 약 3~10원, AI 토큰 사용량 기록 안내)
- 검색 결과에 토큰 사용량 바 표시 (입력/출력/합계/비용)
- AiTokenHelper + AiPricingConfig 연동으로 정확한 비용 계산
2026-02-22 23:33:15 +09:00
김보곤
5810b15940 feat: [additional] Notion 검색 토큰 사용량 기록 및 비용 안내
- 검색어 정제/AI 답변 시 AiTokenHelper로 토큰 사용량 저장
- 상단 안내에 Gemini API 2회 호출 및 토큰 기록 안내 추가
2026-02-22 23:26:33 +09:00
김보곤
c97a21f03d fix: [additional] Notion 검색 실시간 안내 표시 추가
- 상단에 실시간 검색 안내 배지 추가
2026-02-22 23:23:26 +09:00
김보곤
4132458126 fix: [additional] RAG 검색 docs 경로를 Docker 컨테이너 경로로 수정 2026-02-22 23:20:21 +09:00
김보곤
3103d8cb87 fix: [additional] Notion 검색 에러 메시지 구체화
- Gemini API 오류 시 실제 에러 메시지 표시
- 검색어 정제 실패 시 에러 원인 전달
2026-02-22 23:18:08 +09:00
김보곤
0001915cfb feat: [ai-config] Notion API 설정 UI 추가
- AI 설정 페이지에 Notion 섹션 추가 (추가/수정/삭제)
- AiConfig에 API_SERVICE_PROVIDERS 상수 분리
- Notion 전용 모달 (API 키, API 버전, 활성화)
2026-02-22 23:12:49 +09:00
김보곤
9dbb23f09c feat: [additional] RAG 검색 기능 추가
- RagSearchService: docs 폴더 키워드 검색 + Gemini API 컨텍스트 기반 답변
- RagSearchController: 검색 페이지 및 HTMX 비동기 검색 API
- 검색 UI: 통계 바, 예시 질문, Markdown 렌더링, 참조 문서 표시
- AiTokenHelper 연동으로 토큰 사용량 자동 추적
2026-02-22 23:05:55 +09:00
김보곤
aa3c9f4c3b feat: [additional] Notion 검색 기능 추가
- NotionService: Notion API 검색 + Gemini AI 답변
- AiConfig에 notion provider 추가
- 추가기능 > Notion 검색 채팅 UI
2026-02-22 23:04:16 +09:00
김보곤
f8b0843763 feat: [additional] 키오스크 메인에 KS-SA240 제품 일러스트 추가
- SVG로 기둥형 키오스크 비주얼 (모니터, 기둥, 캐스터, 스캐너 걸이)
- 제품 사양 섹션 3열 레이아웃 (일러스트 + DNSYS 개요 + 스펙)
- 반응형 대응 (모바일 1열, 태블릿 2열)
2026-02-22 22:53:23 +09:00
김보곤
a67e0dc019 feat: [additional] 키오스크 페이지에 PPTX 영업자료 내용 반영
- index: 왜 키오스크인가, DNSYS 파트너/스펙, SAM 연동 구조, 가격/도입조건, 영업포인트 추가
- showroom: 4단계 활용 시나리오, SAM 자산 활용 태그, 기능별 상세 설명 추가
- factory: 4단계 활용 시나리오, SAM 자산 활용 태그, 기능별 상세 설명 추가
2026-02-22 22:50:21 +09:00
김보곤
a570fa9246 feat: [additional] 추가기능 > 키오스크 메뉴 및 페이지 골격 추가
- KioskController (index/showroom/factory) 생성
- 키오스크 메인 선택 페이지 (쇼룸/공장 카드 UI)
- 쇼룸 키오스크 골격 (제품 카탈로그, 견적 시뮬레이션, 시공 갤러리, 회사 소개)
- 공장 키오스크 골격 (생산 현황, 작업 지시, 생산 통계, 공지사항)
- /additional/kiosk 라우트 그룹 추가
2026-02-22 22:29:09 +09:00
김보곤
e06bc20fef fix: [academy] 1-3 가이드레일 프롬프트 투시 컷어웨이 + 양쪽 레일 구조로 수정 2026-02-22 21:44:34 +09:00
김보곤
e0f4bb5ee3 fix: [academy] 1-3 가이드레일 프롬프트 내부 앙각 시점으로 수정 2026-02-22 21:35:34 +09:00
김보곤
61e8e81a41 fix: [academy] 1-3 가이드레일 프롬프트 슬랫 내부 구속 동작 명확화 2026-02-22 21:27:33 +09:00
김보곤
e2863679d8 docs: [academy] 방화셔터 Veo 3.1 영상 생성 프롬프트 한국어 버전 추가 2026-02-22 21:09:24 +09:00
김보곤
1e5946097e docs: [academy] 방화셔터 Veo 3.1 영상 생성 프롬프트 16종 작성 2026-02-22 21:04:50 +09:00
김보곤
0158b14ee9 fix: [academy] 방화셔터 백과사전 헤드박스 → 셔터박스 용어 수정 2026-02-22 21:00:30 +09:00
김보곤
be56c6fc06 fix: [academy] 방화셔터 이미지 hover 프리뷰 마우스 벗어남 시 즉시 닫기
- 원본 이미지에서 mouseleave 시 프리뷰 즉시 닫히도록 수정
- 프리뷰 오버레이 pointer-events: none으로 마우스 이벤트 가로채기 방지
- 2중 이미지 표시 문제 해결
2026-02-22 20:58:24 +09:00
김보곤
7abf39264e fix: [academy] 방화셔터 이미지 hover 시 화면 중앙 대형 프리뷰 효과 구현
- 이미지 hover 시 350ms 후 화면 중앙에 80vh 크기로 확대 프리뷰
- backdrop blur 오버레이 + scale 애니메이션 효과
- 프리뷰 클릭 시 기존 라이트박스로 전환
2026-02-22 20:54:11 +09:00
김보곤
4f66edae0f fix: [academy] 방화셔터 히어로 배경색/글씨 안보임 수정 + 이미지 hover 확대 효과
- 히어로 배너 배경: Tailwind 클래스 → inline style (빌드 누락 방지)
- 히어로 글씨 색상: inline style로 흰색 강제 적용
- 이미지 hover: scale(1.05) + box-shadow 확대 효과 (CSS 클래스)
- 이미지 컨테이너: overflow:hidden으로 확대 시 넘침 방지
- 라이트박스: Tailwind 클래스 → CSS/inline style로 교체
2026-02-22 20:48:45 +09:00
김보곤
bbfe9bc07c fix: [academy] 방화셔터 백과사전 이미지 비율 깨짐 수정
- 모든 이미지가 1024x1024 정사각형이므로 비율 존중 레이아웃으로 변경
- 히어로 배너: object-cover 배경 → 텍스트+이미지 병렬 레이아웃
- 이미지-텍스트 카드: 이미지 고정 너비(220px) + 비율 유지
- 풀와이드 이미지: max-height 제한 + 중앙 정렬 (object-contain)
- 섹션 히어로(설치/유지보수): 와이드 배경 → 컴팩트 이미지 배치
2026-02-22 20:42:27 +09:00
김보곤
ac2642a8ee feat: [academy] 방화셔터 백과사전 이미지 적용 및 UI/UX 리디자인
- Gemini 생성 기술 일러스트레이션 12장 적용
- 히어로 배너 (샤프트 어셈블리 이미지)
- ASCII 다이어그램 → 실제 구성도 이미지 교체
- 이미지-텍스트 카드 레이아웃 (좌우 교차 배치)
- 설치/유지보수 섹션 히어로 이미지 추가
- 이미지 클릭 라이트박스 (순수 JS/CSS)
- max-w-5xl → max-w-6xl 폭 확대
2026-02-22 20:33:06 +09:00
김보곤
f4f76e4c27 fix: [academy] 방화셔터 현장 용어 적용 (권취축 → 샤프트) 2026-02-22 19:50:22 +09:00
김보곤
fb45def58e fix: [academy] 방화셔터 백과사전 리서치 기반 사실관계 보정
- 슬랫 재질: SGCC → EGI(전기아연도금강판), 두께 1.6mm 명확화
- 스크린형: 실리카(SiO2) 계열 내화섬유 상세 기술
- 일체형(복합형): 2020.01.30 이후 설치 금지 규정 반영
- 일부폐쇄 위치: 1.5m → 약 1m (법규 기준)
- 감지기 연동: P형/R형 수신기 명시
2026-02-22 19:43:57 +09:00
김보곤
27b20e451f feat: [academy] 방화셔터 백과사전 페이지 구축
- AcademyController 신규 생성 (HX-Redirect 처리)
- /academy/fire-shutter 라우트 등록
- 방화셔터 백과사전 Blade 뷰 (개요/구성품/제조공정/설치/유지보수)
2026-02-22 19:42:23 +09:00
김보곤
0f948e67e7 feat: [kakaotalk] 템플릿 관리 목록/상세 대폭 개선
- 테이블 컬럼 확장: 메시지유형, 강조유형, 보안, 버튼수, 검수상태
- 통계 바 추가: 전체/승인/심사중/반려 건수 한눈에 확인
- 상세 모달 개선: 4칸 속성 요약, 타이틀, 이미지, 버튼 상세 표시
- 바로빌 WSDL 전체 필드 활용 (TemplateMessageType, EmphasizeType, SecurityFlag 등)
- XSS 방지를 위한 escHtml 헬퍼 추가
2026-02-22 19:20:05 +09:00
김보곤
b6e5c620fb fix: [kakaotalk] 템플릿 상태코드 숫자(int) 매핑 추가
- 바로빌 API가 Status를 int로 반환 (WSDL 정의: s:int)
- 기존 문자 매핑(R/N/P/S)에 숫자 매핑(1=등록, 2=심사중, 3=승인, 4=반려) 추가
- 승인 상태(3)가 녹색 뱃지로 올바르게 표시됨
2026-02-22 19:16:01 +09:00
김보곤
b717a1cc62 docs: [weather] 기상청 날씨 API 연동 가이드 추가
- 발표시각별 데이터 커버리지 차이 문서화 (06시 vs 18시)
- D+3~D+4 사각지대 문제 및 다중 발표 병합 해결법
- 디버깅 명령어, 트러블슈팅 포함
2026-02-22 19:14:24 +09:00
김보곤
f9665dd558 fix: [dashboard] 주간 날씨 목요일 데이터 누락 수정
- 기상청 중기예보 18시 발표는 D+5부터만 제공, 06시는 D+4부터 제공
- 여러 발표시각 데이터를 병합하여 빈 필드 보충 (최신 우선)
- 단기예보 TMN/TMX 없는 날은 중기예보 icon/pop 우선 사용
2026-02-22 19:14:24 +09:00
김보곤
14c9b787e9 fix: [dashboard] 주간 날씨 중기예보 데이터 누락 수정
- 18시 발표 중기예보 미발행 시 06시/전일 발표로 fallback
- 불완전한 날씨 데이터 캐시 TTL 10분으로 단축 (기존 3시간)
2026-02-22 19:14:24 +09:00
김보곤
a412164fac docs: [영업] 가이드북 수당 체계 업데이트
- 개인가입(20%/5%/3%) vs 단체가입(30%/0%/3%) 수당 체계 반영
- 유치자 협업지원금(3%) 정책 반영
- 개발비/구독료 VAT 별도 명시
2026-02-22 19:14:24 +09:00
김보곤
1e7edab101 fix: [barobill] 홈택스 매입/매출 월정액을 무료(본사 부담)로 변경
- DEFAULT_MONTHLY_FEES hometax: 10000 → 0
- 월정액 0원일 때 "무료 (본사 제공)" 표시
2026-02-22 19:14:24 +09:00
29713f05c5 chore: 작업현황 정리
- 이전 작업 이력 정리, 최근 커밋 참고용으로 축약

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 04:19:48 +09:00
a4531e8d90 fix:품목관리 FG 수식 산출 401 오류 수정
- FormulaApiService의 Bearer token 조회를 session('api_explorer_token')에서
  ApiTokenService 기반으로 변경
- resolveApiToken() 메서드 추가: 세션 토큰 확인 → 만료시 HMAC 토큰 교환
- DocumentTemplateApiController와 동일한 인증 패턴 적용

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-22 04:19:48 +09:00
c6ff4d639d feat:문서 미리보기 다단계 헤더 및 플레이스홀더 개선
- group_name "/" 구분자로 다단계(4단) 헤더 지원
- sub_label 이름 기반 셀 의미 구분 (기준값/입력/POINT)
- check 컬럼 커스텀 체크박스 라벨 (양호/불량 등) 지원
- maxN 제거, 각 컬럼 자체 sub_labels.length 기반 colspan
- 기존 템플릿 하위 호환성 유지
2026-02-22 04:19:48 +09:00
김보곤
f4879de9ba feat: [video] 3-pass 크롭 검증 추가
- 2-pass 보정 후 각 step의 좌표 영역을 원본에서 크롭하여 Gemini 검증
- 크롭에 패딩 확장 (30% 또는 최소 80px) + 최소 크롭 200x150px 보장
- 빨간 사각형으로 타겟 영역 표시하여 false positive 방지
- 재추정 실패 시 그리드 오버레이 이미지로 3차 재시도
- _verification 메타데이터에 crop_verified, crop_corrected 추가
- PASS율: 37.5% → 100% (FAIL 5 → 0)
2026-02-21 18:30:57 +09:00
김보곤
7991f3e6d4 feat: [video] 좌표 검증 및 영상 메타데이터를 analysis_data에 저장
- 각 step별 검증 결과 저장 (accurate/corrected + 원본 좌표)
- 스크린 단위 검증 통계 저장 (정확/보정 수, 검증 시각)
- 영상 완료 시 _output 메타데이터 저장 (경로, GCS, 비용, 슬라이드수, 총 재생시간)
2026-02-21 16:37:08 +09:00