카테고리 없음

심화 CH.4 재고관리 팀 프로젝트 SA

wonow_ 2024. 9. 6. 11:58

https://www.notion.so/teamsparta/108ad820489a477f816c90d3b8d38a45?pvs=25

 

영역전개 (領域展開): 『무결성』 (無缺性) | Notion

Built with Notion, the all-in-one connected workspace with publishing capabilities.

teamsparta.notion.site

 

인프라 설계도

 

API 명세서

노션 링크 참고해주세요

ERD 명세서

테이블 명세서

주문(p_order)

필드 이름 설명 데이터 타입 도메인 필수여부 키

order_id 주문 ID VARCHAR 27 Y PK
seller_company_id 주문 받은 업체 VARCHAR 27 Y FK
buyer_company_id 받는 업체 VARCHAR 27 Y FK
is_delete 삭제 여부 BOOLEAN   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 BIGINT   N  

상품(p_product)

필드 이름 설명 데이터 타입 도메인 필수 여부 키

product_id 상품 ID VARCHAR 27 Y PK
company_id 업체 ID VARCHAR(27) 27 Y FK
product_name 상품 이름 VARCHAR   Y  
is_delete 삭제 여부 BOOLEAN   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 BIGINT   N  

상품 재고(p_product_stock)

필드 이름 설명 데이터 타입 도메인 필수 여부 키

product_stock_id 상품 ID VARCHAR 27 Y PK
product_id 업체 ID VARCHAR 27 Y FK
hub_id 상품 이름 VARCHAR 27 Y FK
stock 상품 이름 INT   Y  
is_delete 삭제 여부 BOOLEAN   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 BIGINT   N  

배송(p_delivery)

필드 이름 설명 데이터 타입 도메인 필수 여부 키

delivery_id 상품 ID VARCHAR 27 Y PK
delivery_man_id 배송 담당자 ID VARCHAR 27 N FK
status 배송 현재 상태 VARCHAR 27 Y  
start_hub_id 출발 허브 ID VARCHAR 27 Y  
end_hub_id 목적지 허브 ID VARCHAR 27 Y  
address 배송지 주소 VARCHAR 255 Y  
receiver 수령인 BIGINT   Y  
receiver_slack_id 수령인 슬랙 ID VARCHAR   Y  
is_deleted 삭제 여부 BOOLEAN   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 BIGINT   N  

배송 경로 기록(p_delivery_history)

필드 이름 설명 데이터 타입 도메인 필수여부 키

delivery_history_id 배송 경로 기록 ID VARCHAR 27 Y PK
hub_route_id 허브 이동 관리 ID VARCHAR 27 Y FK
delivery_id 배송 ID VARCHAR 27 Y FK
status 현재 상태 VARCHAR WAITING, HUB_SHIPPING,    
HUB_ARRIVED,          
SHIPPING,          
DELIVRED, Y        
sequence 순서(시퀀스) INTEGER   Y  
start_hub_id 출발 허브 ID VARCHAR 27 Y  
target_hub_id 도착 허브 ID VARCHAR 27 Y  
ex_distance 예상 거리 INTEGER   Y  
ex_duration 예상 시간 INTEGER   Y  
distance 실제 거리 INTEGER   N  
duration 실제 시간 INTEGER   N  
is_delete 삭제 여부 BOOLEAN   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 BIGINT 100 Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 BIGINT 100 Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 BIGINT 100 N  

주문 상품 (p_order_product)

필드 이름 설명 데이터 타입 도메인 필수 여부 키

order_product_id 주문 상품 ID VARCHAR 27 Y PK
order_id 주문 ID VARCHAR 27 Y FK
product_id 상품 ID VARCHAR 27 Y FK
count 수량 INTEGER   Y  
is_deleted 삭제 여부 BOOLEAN   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 BIGINT   N  

업체(p_company)

필드 이름 설명 데이터 타입 도메인 필수여부 키

company_id 업체 ID VARCHAR 27 Y PK
hub_id 허브 ID VARCHAR 27 Y FK
user_id 유저 ID BIGINT   Y FK
name 업체 이름 VARCHAR 100 Y  
address 업체 주소 VARCHAR 255 Y  
type 업체 타입 VARCHAR 생산업체, 수령업체    
is_delete 삭제 여부 BOOLEAN   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 BIGINT   N  

허브(p_hub)

필드 이름 설명 데이터 타입 도메인 필수여부 키

hub_id 허브 ID VARCHAR 27 Y PK
user_id 유저 ID BIGINT   Y FK
name 허브 이름 VARCHAR 100 Y  
address 업체 주소 VARCHAR 255 Y  
latitude 위도 DOUBLE   Y  
longitude 경도 DOUBLE   Y  
latitude 삭제 여부 BOOLEAN   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 BIGINT   N  

허브 이동정보 관리(p__hub__route)

필드 이름 설명 데이터 타입 도메인 필수 여부 키

hub_route_id 허브 이동정보 관리 아이디 VARCHAR 27 Y PK
start_hub_id 시작 허브 ID VARCHAR 27 Y FK
target_hub_id 도착 허브 ID VARCHAR 27 Y FK
duration 소요시간 INTEGER   Y  
is_delete 삭제 여부 BOOLEAN   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 BIGINT   N  

업체 배송 담당 여부(p_hub_delivery_man)

필드 이름 설명 데이터 타입 도메인 필수여부 키

hub_delivery_man_id 업체 배송 담당 여부키 VARCHAR 27 Y PK
hub_id 허브 키 VARCHAR 27 Y FK
deliveryman_id 배송 담당자 키 VARCHAR 27 Y FK
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 (user_id) BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 (user_id) BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 (user_id) BIGINT   N  

배송 담당자(p_delivery_man)

필드 이름 설명 데이터 타입 도메인 필수여부 키

deliveryman_id 배송 담당자 키 VARCHAR 27 Y PK
user_id 유저 키 BIGINT   Y FK
is_delete 삭제여부 BOOLEAN   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 (user_id) BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 (user_id) BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 (user_id) BIGINT   N  

유저(p_user)

필드 이름 설명 데이터 타입 도메인 필수여부 키

user_id 유저 키 BIGINT   Y PK
username 유저이름 VARCHAR 30 Y  
password 비밀번호 VARCHAR   Y  
role 유저 역할 VARCHAR ROLE_MASTER,    
ROLE_HUB_MANAGER, ROLE_HUB_COMPANY,          
ROLE_HUB_DELIVERY_MAN, ROLE_COMPANY_DELIVERY_MAN Y        
phone_number 휴대전화 VARCHAR   Y  
slack_id 슬랙아이디 VARCHAR   Y  
is_delete 삭제여부 BOOLEAN   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 (user_id) BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 (user_id) BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 (user_id) BIGINT   N  

AI연동기록(p_ai)

필드 이름 설명 데이터 타입 도메인 필수여부 키

ai_id AI 키 VARCHAR 27 Y PK
ai_prompt 프롬프트 키 VARCHAR 27 Y FK
question 질문 TEXT   Y  
answer 대답 TEXT   Y  
user_id 받은 배송기사 아이디 BigInt   N  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 (user_id) BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 (user_id) BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 (user_id) BIGINT   N  

AI 프롬프트(P_ai_prompt)

필드 이름 설명 데이터 타입 도메인 필수여부 키

ai_prompt 프롬프트 키 VARCHAR 27 Y PK
name 프롬프트 명 VARCHAR   Y  
prompt 프롬프트내용 TEXT   Y  
created_at 레코드 생성 시간 TIMESTAMP   Y  
created_by 레코드 생성자 (user_id) BIGINT   Y  
updated_at 레코드 수정 시간 TIMESTAMP   Y  
updated_by 레코드 수정자 (user_id) BIGINT   Y  
deleted_at 레코드 삭제 시간 TIMESTAMP   N  
deleted_by 레코드 삭제자 (user_id) BIGINT   N