-
오설록(https://www.osulloc.com/kr/ko) 웹페이지 클론코딩 프로젝트
-
클론코딩은 개발 환경 셋팅부터 시작하였으며, 하단 시연 영상은 모두 백엔드와의 데이터 연동을 통해 실제 서비스에서 이용되는 수준으로 구현하였습니다.
-
프로젝트는 2주동안 진행됨에 따라 웹사이트 클론 중 필수적인 기능 구현에 집중하여 필요한 API를 개발하였습니다.
- 회원가입 & 로그인 API
- 상품 카테고리 API
- 상품 리스트 API
- 상품 상세 페이지 API
- 추천 상품 리스트 API
- 장바구니 API
- 리뷰 API
-
개발 일정에 맞춘 작업량 배분, 기능별 git 분기 및 merge의 중요성을 직접 느낄 수 있었으며, 차주에 진행되는 2차 프로젝트에서는 해당 경험을 통해 보다 부드러운 일정 진행이 이뤄질 수 있도록 하려고 합니다.
- 개발 기간 : 2022.05.23 ~ 2022.06.03
- 개발 인원 : 프론트엔드 4명, 백엔드 2명
FE
: 이윤섭, 손가영, 김현주, 안수정 (프론트엔드 Github Repository)BE
: 황재승, 최바다 (백엔드 Github Repository)
Front-End
- HTML, CSS(SASS), Javascript, React
Back-End
- Django, Python, MySQL, AWS(RDS, EC2), Bcrypt, JWT, django-cors
Cowork
- Git, Slack, Trello
로그인 & 회원가입 API
- 정규표현식을 활용한 유효성 검사
- Bcrpyt를 사용하여 비밀번호 암호화
- 암호화된 비밀번호를 다시 복호화하여 일치 여부 확인
- 로그인 성공시 JWT 토큰 발급
Login Decorator
- 인가를 필요로하는 모든 API에 적용
Project modeling
- PRODUCT 테이블을 기준으로 선정하고 차례차례 전체 모델링 완성
- 중복 카테고리에 대하여 알맞은 관계 설정
상품 리스트(필터링 & 정렬)
- 전체 카테고리의 상품 리스트 구현
- Q 객체 & Annotate를 활용하여 필터 기능 구현
- Pagination 기능 구현
- 연산처리 속도 개선할 수 있는 코드 작성
상품 상세 페이지
- 상품 상세 페이지 구성에 필요한 데이터 제공
상품 검색 기능
- 상품 이름을 검색을 통해서 원하는 상품 데이터를 출력 가능
장바구니 API
- 장바구니 상품 추가(POST), 조회(GET), 수정(PATCH), 삭제(DELETE) 기능 구현
리뷰 API
- 상품 리뷰 추가(POST), 조회(GET), 삭제(DELETE) 기능 구현
- 별점, 평균 별점, 총 리뷰 수 출력
- 위 프로젝트는 "오설록" 사이트를 참조하여 학습 목적으로 만들어졌습니다.
- 실무 수준의 프로젝트이지만, 학습용으로 만들어졌기 때문에 이 코드를 활용하여 이득을 취하거나 무단 배포할 경우 법적으로 문제가 될 수 있습니다.