입구 진입 프로세스
%% 입구 진입 프로세스
sequenceDiagram
autonumber
actor Car as 차량
participant Enter as 입구 라즈베리 파이
participant React as React 서버
participant AI as 이미지 AI 서버
participant Spring as Spring 서버
participant DB
Car ->> Enter: 외부에서 차량 진입
activate Enter
Enter ->> AI: 번호판 이미지 전송
deactivate Enter
activate AI
AI -->> React: 추출된 텍스트 반환
deactivate AI
activate React
opt 잘못된 형태의 텍스트
React ->> Enter: 재촬영 요청
deactivate React
activate Enter
Enter ->> AI : 번호판 이미지 재전송
deactivate Enter
activate AI
AI -->> React: 추출된 텍스트 반환
deactivate AI
activate React
end
React ->> Spring: 추출된 텍스트와 장애차량 여부 전송
deactivate React
activate Spring
activate Spring
Spring ->> Spring: 자리 배정 로직 처리
deactivate Spring
alt 정상적으로 자리 배정
Spring ->> DB: 자리 배정 정보 저장
deactivate Spring
activate DB
DB -->> Spring: 성공 반환
deactivate DB
activate Spring
Spring -->> React: 자리 배정 정보 반환
deactivate Spring
activate React
React --) Car: 안내 화면 출력 안내표 발급
deactivate React
activate Car
%% Car ->> React: 안내표 받고 확인 버튼 클릭
deactivate Car
activate React
React -) Enter: 차단 바 해제 요청
deactivate React
activate Enter
Enter -->> Car: 차단 바 해제 후 진입
deactivate Enter
else 만차인 경우
activate DB
DB -->> Spring: 자리 없음 반환
deactivate DB
activate Spring
Spring -->> React: 만차 응답 반환
deactivate Spring
activate React
React -->> Car: 만차 화면 출력
deactivate React
end
주차 프로세스
%% 주차 프로세스
sequenceDiagram
autonumber
actor Car as 차량
participant Bar as 자리 차단봉
participant Pie as 라즈베리 파이
participant Manager as 관리자
participant AI as 이미지 AI 서버
participant React as React 서버
participant Spring as Spring 서버
participant DB
alt 정상 주차 과정
Car ->> Pie: 차량이 구역에 진입, 이미지 촬영
activate Pie
Pie ->> AI: 번호판 이미지 전송
deactivate Pie
activate AI
AI -->> Pie: 추출된 텍스트 반환
deactivate AI
activate Pie
opt 잘못된 형태의 텍스트
Pie ->> AI: 번호판 이미지 재전송
deactivate Pie
activate AI
AI -->> Pie: 추출된 텍스트 반환
deactivate AI
activate Pie
end
Pie ->> Spring: 추출된 텍스트와 구역 번호 전송
deactivate Pie
activate Spring
Spring ->> DB: 차량이 할당된 구역 검색 요청
deactivate Spring
activate DB
%% alt 정상 DB
DB -->> Spring: 검색 결과 반환
deactivate DB
**activate Spring
activate Spring**
Spring ->> Spring: 요청 구역과 검색 결과 일치 여부 판별
deactivate Spring
Spring -->> Pie: 결과 반환
deactivate Spring
activate Pie
Pie -->> Bar: 차단봉 해제
deactivate Pie
%% else DB 오류
%% activate DB
%% DB -->> Spring: 에러 반환
%% deactivate DB
%% activate Spring
%% Spring -->> Pie: 에러 반환
%% deactivate Spring
%% end
else 주차 과정 중 문제 발생
Car ->> Manager: 배정 정보 전달
activate Manager
Manager ->> React: 배정 자리 정보 검색
deactivate Manager
activate React
React ->> Spring: 배정 자리 정보 요청
deactivate React
activate Spring
Spring ->> DB: 검색 요청
deactivate Spring
activate DB
%% alt 정상 DB 검색
DB -->> Spring: 검색 결과 반환
deactivate DB
activate Spring
Spring -->> React: 검색 결과 반환
deactivate Spring
activate React
React -->> Manager: 검색 결과 출력
deactivate React
activate Manager
Manager ->> React: 정보 수정 요청
deactivate Manager
activate React
React ->> Spring: 정보 수정 요청
deactivate React
activate Spring
%% alt 정상 DB 수정
Spring ->> DB: 수정 정보 반영
deactivate Spring
activate DB
DB -->> Spring: 수정 완료 반환
deactivate DB
activate Spring
Spring -->> React: 수정 완료 반환
deactivate Spring
activate React
React --) Manager: 수정 완료 출력
React --) Pie: 차단봉 해제 요청
deactivate React
activate Pie
Pie -->> Bar: 차단봉 해제
deactivate Pie
%% else DB 수정 오류 발생
%% end
%% else DB 검색 오류 발생
%% end
end
출차 프로세스
%% 출차 프로세스
sequenceDiagram
autonumber
actor Car as 차량
participant Bar as 자리 차단봉
participant Pie as 라즈베리 파이
participant AI as 이미지 AI 서버
participant Spring as Spring 서버
participant DB
Car ->> Pie: 출차 위치 도착, 이미지 촬영
activate Pie
Pie ->> AI: 번호판 이미지 전송
deactivate Pie
activate AI
AI -->> Pie: 추출된 텍스트 반환
deactivate AI
activate Pie
opt 잘못된 형태의 텍스트
Pie ->> AI: 번호판 이미지 재전송
activate AI
deactivate Pie
AI -->> Pie: 추출된 텍스트 반환
deactivate AI
end
activate Pie
Pie ->> Spring: 추출된 텍스트 전송
deactivate Pie
activate Spring
Spring ->> DB: 차량 정보 수정
deactivate Spring
activate DB
%% alt 정상 DB 수정
DB -->> Spring: 정상 응답 반환
deactivate DB
activate Spring
Spring -->> Pie: 출차 완료 반환
deactivate Spring
activate Pie
Pie -->> Bar: 차단바 해제
deactivate Pie
%% else DB 수정 오류 발생
%% activate DB
%% DB -->> Spring: 오류 반환
%% deactivate DB
%% activate Spring
%% Spring -->> Pie: 오류 반환
%% deactivate Spring
%% end