22.11.10 THU (DAY 3)
테이블 명세서
최종적으로 설계된 테이블과 인덱스를 데이터베이스 공간에 맵핑시키고 저장공간 등의 물리 모델을 기술한 문서
테이블 명세서를 작성하는 방법은 다음과 같다.
1. 데이터베이스 목록을 작성하고,
2. 데이터베이스의 물리적 상세내용을 기술함.
즉, 서비스에서 사용될 테이블을 미리 설계하고 그 내용을 문서화 하는 것이다.
구현 단계에서 개발이 진행됨에 따라 테이블 설계서의 내용이 일부 변경될 수 있다.
User 테이블
컬럼명 타입 NOT NULL FK 설명 userId long Y PK 유저 고유 식별자 string Y 사용자의 이메일 password string Y 사용자의 비밀번호 realName string Y 사용자의 이름 (실명) displayName string Y 사용자의 닉네임 address string Y 사용자의 주소 phone string Y 사용자의 휴대폰 번호 userStatus enum Y 사용자의 상태 (활동중, 회원탈퇴) wishList list Y (1:N) 사용자의 아이템 찜 목록 orders list Y (1:N) 사용자의 주문 목록 reviews list Y (1:N) 사용자가 작성한 리뷰 목록 talks list Y (1:N) 사용자가 작성한 토크 목록 talkComments list Y (1:N) 사용자가 작성한 토크 답변 목록 Cart object Y Y (1:1) 사용자의 카트 객체 createdAt datetime Y 최초로 생성된 시간 updatedAt datetime Y 마지막으로 수정한 시간 provider string OAuth로그인시 Resource server providerId string OAuth로그인시 개인 id or sub oauthId string provider와 providerId를 합친 개인 식별 id
ER diagram
Entity-Relationship Diagram
현실세계의 요구사항(Requirements)들로 부터 Database를 설계과정에서 활용된다.
즉, 개념을 모델링하는 것으로 개체(entity)와 속성(attribute), 관계성(relationship) 을 표현한다.
Workbench로 만든 E-R Diagram
ERD는 테이블 명세서를 기반으로 작성되었으며, 백엔드 팀원 분께서 작업해주셨다.
유저플로우
유저가 어떤 작업을 처리하기 위해 서비스 내에서 이동하는 경로를 나타낸 것.
아래의 유저 플로우는 프론트 팀원 분들이 제작해주셨다.
(원본 이미지가 굉장히 큽니다. 새 탭으로 원본을 열어 상세 내용을 확인할 수 있습니다.)
하
로 배정되었고 결국 시간부족으로 구현하지 못했다.
위 이미지는 유저 플로우 중
제품 상세 페이지
>>>결제 페이지
로 이동하는 부분이다.
(전체 유저 플로우에서 가운데에 위치하고 있다.)