오늘은 1시에 만나기로해서 그나마 덜 힘들었다. ㅎㅎ 아침에 안만나니까 너무 좋아!!
낼부턴 코드칠 수 있다!! 무야호..
처음하는 타입스크립트 프로젝트라 익숙해질 수 있을지 의문이 들긴한다!!.. !!!!
두달뒤엔 취업할 수 있으리라 믿으면서 열심히 달려나가야지!
오늘 배운 것
- 장바구니는 로컬스토리지에, 오더페이지에선 오더목록에 있는 아이템들의 총 값을 서버에 주고, 결제할때 다시한번 계산해서 클라이언트의 값과 맞는지 확인한다음에 결제API를 불러야 보안상 안전하다!
아래는 어드민페이지를 제외하고 구현해야 할 목록을 교차검증하여 적어놓은 것이다..
참.. 기획단계는 하기싫다..
미디어 쿼리 사이즈
- 모바일 : 320~767px
- 태블릿&웹 : 768px~max (vp)
반응형 컨텐츠 사이즈 (최상단에 일단..해보기)
- min-width: 320px
- max-width: 1200px(실제컨텐츠 최대 크기)
Nav
Landing
Login
*input 창 Form으로 감싸기
Signup
* input 창 Form으로 감싸기
- 모바일/웹
- 회원가입 기능 구현
- 필드 미입력 : 긋다 참고
- 이름, 이메일, 비밀번호, 비밀번호 확인, 약관동의 체크여부 유효성 검사
- 이메일 : 클라이언트 자체 유효성 검사 통과 후 onBlur 됐을때 서버에 중복 확인 요청
- 성공 : 인풋창 초록색 보더, ✅ 아이콘
- 실패 : 빨간색 보더, ❌ 아이콘 , 문구
- 이름, 비밀번호, 비밀번호 확인 : 클라이언트 자체 유효성 체크
- 성공 : 인풋창 초록색 보더, ✅ 아이콘
- 실패 : 빨간색 보더, ❌ 아이콘 , 문구
- 약관동의 : 체크 안하면 약관 동의 안내 문구
- 유효성 검사 모두 통과 후 회원가입 버튼 클릭 : 서버에 입력정보로 유저 추가 요청
- 성공 : 로그인페이지로 이동
- 실패 : '서버 요청에 실패했습니다. 잠시후 다시 시도해주세요'
ArtList
*ArtList의 경우 판매하는 상품만 보여줌(품절 상품 제외)
ArtDetail/artwork_id
Cart
Order
Artists
ArtistDetail
Mypage (최초 주문내역)
- 모바일
-
최초 랜더링 (주문내역)
- 토큰으로 유저 주문내역 서버 요청 (로딩)
- 성공 : 응답받은 데이터 주문내역 컴포넌트에 전달 & 상태별로 카운트해서 적기(클라)
- 실패 : 404 에러페이지로 이동
- 주문내역 컴포넌트 랜더링(서버에서 전달 받은 값을 뿌리기)
-
구매 작품 취소 기능 [PATCH]
- 해당 작품 status 확인
- 결제완료(0), 배송준비중(1)인 경우에만 활성화시켜 취소 가능 하게끔 하기
- 서버에 주문번호에 묶인 작품 필드값 변경 요청 [{ObjectId: 1, status: 5, inStock: true}, {ObjectId: 2, status: 5, inStock: true}]
-
구매 작품 반품 기능 [PATCH]
- 해당 작품 status 확인
- 배송완료(3)인 경우에만 활성화시켜 반품이 가능 하게끔 하기
- 서버에 주문번호에 묶인 작품 필드값 변경 요청 [{ObjectId: 1, status: 4}]
상태 (결제완료 0, 발송준비중 1, 배송중 2, 배송완료 3, 반품 요청중 4, 결제취소 5)
-
상세보기 클릭시 해당 주문건의 OderDetail로 이동
- 주문 고유 아이디를 OrderDetail에 props로 전달
OrderDetail
Mypage/Zzim
Mypage/비밀번호변경, 회원탈퇴
프로토타입
아래는 구현해야하는 프로토타입이다.. 이번에는 반응형까지 하기로 해서 일이 2배! 어드민까지 3배.. ! 이걸 3주안에 끝낼 수 있다면 그건 시니어 아닐까..? 시니어도 못하겠다..