될때까지

((TURTLE HOME)) 1일차 : 프로젝트 팀명 정하기, 파트 나누기, 초기세팅, ERD 본문

프로젝트/wecode1차 : TURTLE-HOME

((TURTLE HOME)) 1일차 : 프로젝트 팀명 정하기, 파트 나누기, 초기세팅, ERD

랖니 2022. 7. 18. 22:53
728x90

지난주에 위코드에서 프로젝트로 진행하고 싶은 사이트를 골라 발표하는 시간이 있었다. 너무 늦게 사이트를 찾은 바람에 이미 하고 싶었던 사이트들은 다른 분들이 찜해두셨던 상황..!! 그래, 1차 프로젝트를 포기하고 2차를 노리자 싶어서 발표했던 까사리빙. 딱 봤을 때 메인 화면부터 프론트의 현란한 애니메이션(?), 많아보이는 카테고리와 상품들 및 필터 기능. 1차로 도저히 못할 것 같았는데 1차 프로젝트 적합 사이트에 이름이 올라갔다. 오마이갓 그리고 나서 동기들이 각자 진행하고 싶지 않은 사이트를 총 8갠가? 투표했다. 나는 내 사이트를 투표했다. 2차로 진행하고 싶었기 때문에...!! 그래서 내가 투표한 사이트는 당연히 떨어질 줄 알았는데 진행 사이트에 올라갔고...? 내 사이트 팀원들도 있지만 정작 사이트를 고른 난 그 사이트에 없는.. 그런 상황 ... ^0^.. 애초에 내 사이트가 탈락하지 않을까도 생각했었는데 이렇게 명단에 올라갈 줄 알았으면 그냥 진행할 껄 싶기도 했다. 다들 사이트를 골랐기에 집에 와서 네시간??동안 계속 보다가 고른 사이트라 애정이 남아있었는뒈.. 이미 지나간 일 후회한 들 무엇하리 ㅠ_ㅠ 

그렇게 나는 내가 골랐던 사이트를 떠나 "자라홈" 사이트에 배정받았다. 어떻게 학생들을 필터링 거시는 지 매번 안겹치고 새로운 사람들과 진행하게 된다. 위코드의 필터링 조건은 무엇일까(??).

35기 동기들 중 또 새로운 멤버들과 팀을 만들었고, 팀명 한글이름은 꼬북집🐢 영문 이름은 TURTLE HOME으로 결정했다.

오늘은 프론트, 백엔드 모두 모여서 자라홈 사이트를 살펴봤다. 사이트의 좋은 점, 아쉬운 점, 구린 점을 살펴보며 일단은 기초적인 기능 구현에 집중하기로 뜻을 모았다. 담당 멘토님께 컨펌도 받았고, 진행 순서와 추가 기능 구현 파트를 나눠주셨다. 상품 필터링에서 신상품/낮은 가격/높은 가격만 구현하기고 팀원끼리 얘기했었는데 멘토님께서는 사이즈/컬러/가격도 필터링했음 좋겠다는 챌린지를 주셔서 구현하기로 했다.

회원가입 → 로그인 제품 목록 → 상세 페이지  장바구니  

같은 백엔드 팀원인 바울님과 서로 구현하고 싶은 기능 하세요 양보하다가 결국엔 사다리타기를 진행했다. 큰 틀로 생각했을 때, User app을 만들고 회원가입/로그인/장바구니 기능을 구현하는 사람. 그리고 Product app을 만들어서 전체 상품 목록/상품 상세 페이지 기능을 구현하는 사람으로 나누자 얘기했고, 파란색 부분 상품 담당을 내가 하게 되었다. 하...할수있겠지?

바울님의 도움을 받아 완성한 ERD

처음에는 간단하게 완성됐던 ERD. 하지만 점점 모델링을 작업할수록 계속 테이블이 추가되었다. 다대다의 관계도 등장하게 되고..!? 허허 바울님이 너무 많으면 나누자고 하셨으니까 잊지말고 기억해뒀다가 나누기를 써먹어야지 ^_^* 

 

필수 구현 기능들

  1. 회원가입(bcrypt 암호화)
  2. 로그인(JWT 사용자 토큰값)
  3. 전체 상품 목록 (필터링 - 낮은 가격/높은 가격/신상품/사이즈/컬러)
  4. 제품 상세 정보
  5. 장바구니 담기/조회/삭제

추가 구현 기능들

  1. 검색
  2. 로그아웃
  3. 회원탈퇴
  4. 전체 상품 목록 신상품/SALE boolean값으로 체크하여 표시
  5. 최근 검색어
  6. 비밀번호 찾기
  7. 비회원 구매/장바구니

 

꼭 필수 구현 기능들은 완벽하게 구현하고 싶다..!!! 💪

 

이제까지 진행하면서 깨달은 점은 아래와 같다.

  • 깃허브에 올라간 초기셋팅을 파일을 클론해서 내 컴퓨터로 가져와도, 해당 진행 과정에서 설치된 내역들은 없다. 내가 알아서 설치해야한다. 이를 위해서 설치한 목록과 버전을 보여주는 requirements.txt파일이 존재하는 것이다.
  • 상품과 사이즈, 컬러의 관계가 어려웠다. 하나의 상품은 여러개의 컬러값을 가지고, 컬러 또한 여러 상품에 존재하기 때문에 다대다의 관계다. 다대다의 관계는 중간 테이블을 구축하여 연결한다.
  • 장바구니의 관계가 어려웠다. 장바구니에 상품의 아이디와 유저의 아이디를 담아두면, 어떤 유저의 장바구니에 어떤 상품이 담겼는지 알 수 있을 것 같아 다대다의 관계가 맞다고 생각했다.

 

궁금한 점 및 해결해야할 점은 아래와 같다.

  • 상품의 가격을 나타내는 price는 IntegerField를 사용하지 않을까 싶은데 천단위 구분기호를 어떻게 나타낼까? -> 천단위 구분기호는 프론트에서!
  • 썸네일 url과 상품 상세 이미지 url을 1장으로 통일시키기로 했는데, 만약에 썸네일 이미지와 상품 상세 이미지를 다른 걸 사용한다면 image테이블로 빼는 게 좋을까? (추후 수정할지도 모르기 떄문에 여쭤보기) -> 그렇다 이미지가 많아지면 이미지 테이블 따로 분리!
  • 상품을 등록하는 작업은 post로 만드는 게 아니라 CSV로 집어넣는 거겠지? -> 그럼요!
  • 상품 정보들을 자라홈 사이트에서 어떻게 가져오지? -> 일일이 노가다했다!
  • 상품같은 경우 생성날짜, 업데이트 날짜가 필요없는 것 같은데? -> 관리자가 있었다면.. 필요했지만 지금은 굳이!?

 

아직까지는 재밌다....!! 내일 모델링 리뷰 끝나고 빨리 빨리 진행하구 싶다. 파이팅 꼬북집!!!🐢 🐢 🐢

728x90