- 거래 생성, 견적서 및 발주서 작성, 인수자 서명을 통한 거래 완료 등의 기능을 제공합니다.
- 레이저 가공 업체 관리자를 위한 거래 및 자재 재고 데이터 관리와 분석 그래프를 제공합니다.
ERD 🗄️ → 링크
기능 | 도메인 | API 문서 | API(컨트롤러) | 서비스 or 레포지토리 |
---|---|---|---|---|
공장 사용자 거래 조회 | Order.java | ![]() |
FactoryOrderHistoryAPI.java | OrderRpositoryCustomImpl.java |
고객 사용자 거래 조회 | Order.java | ![]() |
CustomerOrderHistoryAPI.java | OrderRpositoryCustomImpl.java |
거래 상세 보기 | Order.java | ![]() |
OrderAPI.java | OrderRpositoryCustomImpl.java |
도면 파일 업로드 | Drawing.java | ![]() |
DrawingAPI.java | DrawingService.java |
거래 생성 | Order.java | ![]() |
CustomerOrderAPI.java | CustomerOrderService.java |
견적서 작성 및 수정 | Quotation | ![]() |
FactoryOrderAPI.java | FactoryOrderService.java |
견적서 승인 | Quotation | ![]() |
CustomerOrderAPI.java | CustomerOrderService.java |
발주서 작성 및 수정 | PurchaseOrder | ![]() |
CustomerOrderAPI.java | CustomerOrderService.java |
발주서 승인 | PurchaseOrder | ![]() |
FactoryOrderAPI.java | FactoryOrderService.java |
제작 완료 | Order.java | ![]() |
FactoryOrderAPI.java | FactoryOrderService.java |
거래 완료 (인수자 정보 및 서명 등록) |
Order.java | ![]() |
FactoryOrderAPI.java | FactoryOrderService.java |
이슈 | 사용 기술 | 해결 방법 | 해결 과정 | 주요 코드 |
---|---|---|---|---|
메일 발송 로직의 응답 지연 문제 |
Java CompletableFuture | CompletableFuture를 활용한 비동기 로직 구현 및 예외 처리 | ![]() |
EmailService.java |
자재 재고 관리에 대한 동시 요청 시, Race Condition 발생 |
Spring @Lock | 비관적 Lock 방식을 활용한 동시성 문제 해결 | ![]() |
Ingredientrepository.java |
거래 단계 변경 및 자재 재고 관리의 자동화를 위한 스케줄링 필요 |
Spring Quartz | Spring Quartz를 활용한 스케줄러 구현 | ![]() |
ScheduleService.java |
인증 및 인가 기능 | Spring Security, JWT | JWT 기반 인증 및 Role, Authority 기반 인가 기능 개발 | ![]() |
/security |
통합 및 단위 테스트 코드 작성 | Spring Test, JUnit | 1,195개 테스트 코드 작성 및 98% 라인 커버리지 | ![]() |
/src/test/ |