Skip to content

AppLinkers/LaserOrderManage-server

Repository files navigation

thumbnail

금오 거래 센터 🏭

기존 전화와 서류로 진행되는 레이저 가공 거래에 디지털 트랜스포메이션을 수행한 플랫폼 🌐

  • 거래 생성, 견적서 및 발주서 작성, 인수자 서명을 통한 거래 완료 등의 기능을 제공합니다.
  • 레이저 가공 업체 관리자를 위한 거래 및 자재 재고 데이터 관리와 분석 그래프를 제공합니다.

ERD 🗄️ → 링크

고객 사용자 및 거래 ERD

order_erd

공장 사용자 및 자재 ERD

image

프로젝트 아키텍처 ⚙️

architecture


주요 비즈니스 기능

기능 도메인 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/

About

금오거래센터(레이저 가공 거래 플랫폼) 서버

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages