Commit Graph

5 Commits

Author SHA1 Message Date
windpacer
15c17522c8 MCP-서버 리팩토링 후 P&ID 추출 테스트전 다른 기능 확인 후 커밋 2026-05-04 10:35:13 +09:00
windpacer
a0404b1fee chore: .gitignore에 Python 캐시 및 가상환경 무시 규칙 추가 2026-05-03 03:58:23 +09:00
windpacer
77bdcf1f7f feat: ExperionCrawler IIoT OPC UA Data Bridge Infrastructure
Major project initialization and feature implementation:

**Core Features:**
- OPC UA client for Honeywell Experion HS R530 integration
- Real-time data streaming and history data retrieval
- Text-to-SQL query engine with TimeScaleDB
- JSON-based node configuration system
- SQLite database with migration support

**Architecture:**
- Clean architecture with Domain, Application, Infrastructure layers
- ASP.NET Core Web API frontend
- Web UI with real-time visualization
- PKI-based OPC UA authentication (TLS)

**Infrastructure Components:**
- ExperionOpcClient: OPC UA connection management
- ExperionRealtimeService: Real-time data streaming
- ExperionHistoryService: Historical data queries
- TextToSqlService: Natural language to SQL queries
- SqlValidator: SQL injection prevention

**Database:**
- TimescaleDB integration (recommended) or SQLite fallback
- Entity Framework Core with Extenstion methods
- OPCTag, KeyValue tables for data storage

**Security:**
- Certificate-based OPC UA endpoint security
- SSL/TLS encryption for database connections
- Output param binding injection prevention

**Testing:**
- Unit tests for TextToSqlService and SqlValidator
- Integration tests for Korean time range extraction

See REVIEW_REQUEST.md for detailed code review information.
2026-04-26 19:28:56 +09:00
windpacer
e34ec08001 fix(#4): HypertableController 테이블명/컬럼명 입력 검증 추가
- TableName allowlist(history_table) + PostgreSQL 식별자 regex(^[a-z_][a-z0-9_]{0,62}$) 검증
- 검증 실패 시 400 BadRequest 반환
- issues.md: #4 fixed, #7/#8/#9 status 정정(실제 수정 완료), #10/#12 needs-review, #16/#17/#18 wont-fix

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 12:17:16 +09:00
windpacer
6ac399bb35 fix(#13): TextToSqlController ILogger 주입 추가 및 OpcClient unused variable 제거
- TextToSqlController: _logger 필드 누락으로 인한 빌드 에러 수정 (ILogger<TextToSqlController> DI 추가)
- ExperionOpcClient: catch(Exception ex)에서 미사용 변수 경고 제거 (catch로 변경)
- issues.md: #11/#14/#15/#19/#20 wont-fix 판정, #13 fixed 표시

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-26 12:12:32 +09:00