mirror of
https://github.com/hwanny1128/HGZero.git
synced 2025-12-06 06:46:24 +00:00
- 총 21개 PlantUML 파일 생성 (Meeting 10개, AI 6개, STT 2개, Notification 3개) - 서브 에이전트를 활용한 병렬 설계로 효율성 극대화 - 모든 시나리오는 유저스토리 및 외부 시퀀스와 1:1 매칭 - Controller → Service → Repository 계층 구조 명확히 표현 - Redis Cache, Azure Event Hubs 등 인프라 컴포넌트 표시 - 동기(→)/비동기(-->) 구분 명확 - 외부 참여자 <<E>> 표시 적용 - PlantUML 문법 검사 및 오류 수정 완료 (13개 파일 수정) - par/and 블록 문법 오류 수정 - return 형식 적용으로 참여자 없는 화살표 오류 해결 설계 특징: - 캐시 전략: Cache-Aside 패턴, TTL 관리, 즉시 무효화 - 비동기 처리: Azure Event Hubs 기반 이벤트 구독 - 실시간 협업: WebSocket 기반 동기화, 변경 델타 전송 - 데이터 일관성: 버전 관리, 양방향 연결, 트랜잭션 처리 추가 파일: - claude/sequence-inner-design.md: 내부시퀀스설계 가이드 - tools/check-plantuml.ps1: PlantUML 문법 검사 스크립트 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
66 lines
2.4 KiB
PowerShell
66 lines
2.4 KiB
PowerShell
param(
|
|
[Parameter(Mandatory=$false)]
|
|
[string]$FilePath = "C:\home\workspace\tripgen\design\backend\system\azure-physical-architecture.txt"
|
|
)
|
|
|
|
Write-Host "=== PlantUML Syntax Checker ===" -ForegroundColor Cyan
|
|
Write-Host "Target file: $FilePath" -ForegroundColor Yellow
|
|
|
|
# Check if file exists
|
|
if (-not (Test-Path $FilePath)) {
|
|
Write-Host "❌ File not found: $FilePath" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
|
|
# Execute directly in PowerShell
|
|
$timestamp = Get-Date -Format 'yyyyMMddHHmmss'
|
|
$tempFile = "/tmp/puml_$timestamp.puml"
|
|
|
|
# Copy file
|
|
Write-Host "`n1. Copying file..." -ForegroundColor Gray
|
|
Write-Host " Temporary file: $tempFile"
|
|
docker cp $FilePath "plantuml:$tempFile"
|
|
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "❌ File copy failed" -ForegroundColor Red
|
|
exit 1
|
|
}
|
|
Write-Host " ✅ Copy completed" -ForegroundColor Green
|
|
|
|
# Find JAR file path
|
|
Write-Host "`n2. Looking for PlantUML JAR file..." -ForegroundColor Gray
|
|
$JAR_PATH = docker exec plantuml sh -c "find / -name 'plantuml*.jar' 2>/dev/null | head -1"
|
|
Write-Host " JAR path: $JAR_PATH"
|
|
Write-Host " ✅ JAR file confirmed" -ForegroundColor Green
|
|
|
|
# Syntax check
|
|
Write-Host "`n3. Running syntax check..." -ForegroundColor Gray
|
|
$syntaxOutput = docker exec plantuml sh -c "java -jar $JAR_PATH -checkonly $tempFile 2>&1"
|
|
|
|
if ($LASTEXITCODE -eq 0) {
|
|
Write-Host "`n✅ Syntax check passed!" -ForegroundColor Green
|
|
Write-Host " No syntax errors found in the diagram." -ForegroundColor Green
|
|
} else {
|
|
Write-Host "`n❌ Syntax errors detected!" -ForegroundColor Red
|
|
Write-Host "Error details:" -ForegroundColor Red
|
|
Write-Host $syntaxOutput -ForegroundColor Yellow
|
|
|
|
# Detailed error check
|
|
Write-Host "`nAnalyzing detailed errors..." -ForegroundColor Yellow
|
|
$detailError = docker exec plantuml sh -c "java -jar $JAR_PATH -failfast -v $tempFile 2>&1"
|
|
$errorLines = $detailError | Select-String "Error line"
|
|
|
|
if ($errorLines) {
|
|
Write-Host "`n📍 Error locations:" -ForegroundColor Magenta
|
|
$errorLines | ForEach-Object {
|
|
Write-Host " $($_.Line)" -ForegroundColor Red
|
|
}
|
|
}
|
|
}
|
|
|
|
# Clean up temporary file
|
|
Write-Host "`n4. Cleaning up temporary files..." -ForegroundColor Gray
|
|
docker exec plantuml sh -c "rm -f $tempFile" 2>$null
|
|
Write-Host " ✅ Cleanup completed" -ForegroundColor Green
|
|
|
|
Write-Host "`n=== Check completed ===" -ForegroundColor Cyan |