Skip to content

f-lab-edu/inventory-management-system

Repository files navigation

재고 관리 시스템 (Inventory Management System)

Spring Boot 기반의 재고 관리 시스템입니다.

처음부터 완벽한 프로그램을 만드려고 하지 않습니다. 변화하는 요구사항에 유연하게 대응하기 위해 점진적으로 기능을 추가하며 개발하고 있습니다.

무엇을 배우고 싶나요?

  • 테스트 코드를 작성하며 비즈니스 요구가 변경되어도 장애 없이 기능을 추가하고, 변경하는 방법
  • 대용량의 데이터를 효율적이며 안정적으로 처리하는 방법
  • 차근차근 단계적으로 복잡한 시스템을 설계하고 구현하는 방법

무엇을 배웠나요?

주요 도메인

  • 창고 (Warehouse): 물리적 창고 정보 관리
  • 재고 (WarehouseStock): 창고별 상품 재고 관리
  • 공급업체 (Supplier): 공급업체 정보 관리
  • 상품 (Product): 상품 마스터 정보 관리
  • 입고 (Inbound): 입고 프로세스 및 재고 관리
  • 출고 (Outbound): 출고 프로세스 및 배송 관리

입고 프로세스

graph TD
    A[입고 요청] --> B[입고 등록]
    B --> C[REGISTERED<br/>입고 등록 완료]
    C --> D[검수 시작]
    D --> F[INSPECTING<br/>검수 진행 중]
    F -->|검수 통과| G[COMPLETED<br/>입고 완료]
    F -->|검수 실패| H[REJECTED<br/>입고 거절]
    G --> I[재고 반영]
    I --> J[창고 재고 업데이트]
    H --> K[입고 취소]
Loading

입고 상태별 설명:

  • REGISTERED: 입고 예정 상품 등록 완료
  • INSPECTING: 상품 검수 진행 중
  • COMPLETED: 검수 완료 후 재고 반영됨
  • REJECTED: 검수 실패로 입고 거절됨

출고 프로세스

graph TD
    A[출고 요청] --> B[출고 등록]
    B --> C[ORDER_RECEIVED<br/>출고 주문 접수]
    C --> D[재고 검증]
    D --> E{재고 충분?}
    E -->|재고 부족| F[INSUFFICIENT_STOCK<br/>재고 부족]
    E -->|재고 충분| G[출고 예정일 확정]
    G --> H[SHEDULED<br/>출고 예정일 확정]
    H --> I[배송 주소별 배차]
    I --> J[기사 배차 완료]
    J --> K[상품 상차]
    K --> L[COMPLETED<br/>출고 완료]
    L --> M[재고 차감]
    M --> N[창고 재고 업데이트]
    N --> O{안전재고 미만?}
    O -->|안전재고 미만| P[재고 부족 알림 발송]
    O -->|안전재고 이상| Q[프로세스 완료]
    F --> R[재고 부족 알림 발송]
Loading

출고 프로세스 단계:

  1. 출고 등록

    • 배송 기본 정보 (수령인 이름, 수령인 전화번호, 우편번호, 기본주소, 상세주소)
    • 출고 요청일
    • 출고를 요청할 창고
    • 배송 요청 메모
    • 등록 완료 시 "출고 주문 접수" 상태로 생성
  2. 출고 예정일 확정

    • 오전 10시 이전 주문: 당일 출고 예정 (단 출고 요청일이 있으면 해당 일자)
    • 오전 10시 이후 주문: 익일 출고 예정 (단 출고 요청일이 있으면 해당 일자)
  3. 출고 배차

    • 배송 주소 기준으로 가까운 주소들끼리 묶어서 기사에게 배차
    • 기사가 배송 트럭에 출고 주문 상품을 상차하고 "출고 완료" 상태로 설정
    • 이때 재고가 차감됨

출고 상태별 설명:

  • ORDERED: 출고 주문 접수 완료 (예약 재고만큼 차감됨)
  • PICKING: 피킹 진행 중 (예약 재고만큼 차감됨)
  • SHIPPED: 출고 완료 후 재고 차감됨 (실제 재고가 예약 재고만큼 차감됨)
  • CANCELD: 출고가 취소됨 (예약 재고를 없애고, 예약 재고만큼 실제 재고를 증가시킴)

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •