mirror of
https://github.com/hwanny1128/HGZero.git
synced 2026-06-12 22:59:10 +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>
This commit is contained in:
@@ -0,0 +1,66 @@
|
||||
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
|
||||
Reference in New Issue
Block a user