JU-LABO Project 회고
서론
정신없이 몰두했던 첫번째 프로젝트가 끝난 후 회고를 해보려한다.
너무 좋은 팀원들을 만났지만, 서로 협업이 어색한 상황에서
기능구현과 처음보는 에러와 복합적인 여러가지 일들이 벌어졌었다.
하지만 우리는 포기하지 않았고 좋은 결과물을 만들어냈다고 생각한다. (주라보 팀원들 사랑해)
서론은 길면 안되니까 바로 회고를 시작해보자!
OVERVIEW
- 클론 사이트
- 사이트 소개
- 2006년 프랑스 출신의 두 창립자 에디 로시와 파브리스 페노가 뉴욕 놀리타에서 시작한 니치 향수 브랜드이다.
- 브랜드 명은 프랑스어로 ‘실험실’이라는 단어를 그대로 따온 이름으로 조향사의 연구실에서 일어나는 다양한 일에서 영감을 얻어 만든 컬트 향수 브랜드 명이다.
- 원재료에 대한 존중을 기반으로 르라보의 이름을 알린 ‘상탈 33’, 머스크와 살냄새의 조화를 이룬 ‘어나더 13’ 등 매력적이고 유니크하며 매니악한 향수 스펙트럼을 눈여겨 볼 수 있다.
- 특히 구매자가 라벨에 원하는 이름, 문구를 새길 수 있는 ‘라벨링 서비스’를 이용 할 수 있다.
- 프로젝트 기간
2022/02/24 ~ 2022/02/11 (설날 연휴 포함)
INTRODUCE TEAM(팀 소개)
- 팀명
JU-LABO(주라보)
술 주(酒) 를 사용해서 주라보라고 이름을 지었다.
- 사랑하는 팀원들
- Frontend - 윤남주, 김지연, 석정도
- Backend - 최창현, 최형택, 김지연
- 2006년 프랑스 출신의 두 창립자 에디 로시와 파브리스 페노가 뉴욕 놀리타에서 시작한 니치 향수 브랜드이다.
- 브랜드 명은 프랑스어로 ‘실험실’이라는 단어를 그대로 따온 이름으로 조향사의 연구실에서 일어나는 다양한 일에서 영감을 얻어 만든 컬트 향수 브랜드 명이다.
- 원재료에 대한 존중을 기반으로 르라보의 이름을 알린 ‘상탈 33’, 머스크와 살냄새의 조화를 이룬 ‘어나더 13’ 등 매력적이고 유니크하며 매니악한 향수 스펙트럼을 눈여겨 볼 수 있다.
- 특히 구매자가 라벨에 원하는 이름, 문구를 새길 수 있는 ‘라벨링 서비스’를 이용 할 수 있다.
2022/02/24 ~ 2022/02/11 (설날 연휴 포함)
- 팀명
JU-LABO(주라보)
술 주(酒) 를 사용해서 주라보라고 이름을 지었다.
- 사랑하는 팀원들
- Frontend - 윤남주, 김지연, 석정도
- Backend - 최창현, 최형택, 김지연
JU LABO GOALS(목표)
- 우리팀은 르 라보의 웹 페이지의 디자인과 기능을 최대한 비슷하게 개발하거나 개선하는것을 목표로 삼았다.
핵심 서비스
- 계절 별 술 큐레이션
제공하는 메인 서비스
핵심 서비스
제공하는 메인 서비스
👉 로그인, 회원가입을 활용한 쇼핑 기능(장바구니 기능 포함)
상품 리스트 페이지(카테고리별)
상품 상세정보 페이지
계절에 맞는 주류 추천
상품별 필터
인기 상품 추천
검색기능 추천
필수 구현 사항(구현 완료)
- 회원가입
- 로그인
- 상품 리스트 페이지, 상품 목록
- 상품 리스트 페이지, 상품 목록 필터링 적용
- 상품 상세 페이지
- 장바구니 기능
- 주문 기능
- 프로젝트 배포
추가 구현 사항(구현 완료)
- 메인 페이지
- 상품 검색 - 검색결과/인기순
- 제품 추천
- 어바웃 페이지 (http://www.elcakorea.com/brand/le_labo)
- AWS 배포
USED STACK(사용된 기술)
Backend
Python , Django , MySQL , CORS Header, Bcrypt, pyJWT
Frontend
HTML/CSS, JavaScript(ES6+), React, SASS
Communication Tool
Trello, Slack, git, github
Arcitecture
AWS EC2, AWS RDS, Postman, dbdiagram.io, httppi
INTRODUCE JU LABO
Database Modeling
Backend
Python , Django , MySQL , CORS Header, Bcrypt, pyJWT
Frontend
HTML/CSS, JavaScript(ES6+), React, SASS
Communication Tool
Trello, Slack, git, github
Arcitecture
AWS EC2, AWS RDS, Postman, dbdiagram.io, httppi
Database Modeling
초기 세팅
- 가상환경, DATABASE 생성
- git repository clone
- django install
- django cors-headers install
- mysqlclient install
- git branch 생성
- django project 생성
- settings.py 생성
- requirement.txt 생성
- gitignore 생성
- runserver 동작 확인
JU LABO 메인 화면 소개
- (우리팀 프론트엔드 자랑ㅎㅎ)
내가 작성한 API 목록
-
categories/SubcategoriesView
-
products/ProductListView
-
users/PopularProductView
url 엔드포인트/코드/
Header & Product List(창현)
- 인기 상품과 카테고리 메뉴 반환
- 상품 리스트 반환
Search & Filter(창현)
-
상품 검색 기능 ( 키워드가 포함된 상품)
icontains를 사용하여 키워드와 상품의 이름을 비교하여 검색 기능을 구현했다. -
Type(ml)을 통한 상품 리스트 필터
상품 리스트 페이지에서 ml별로 상품을 필터할 수 있도록 기능을 구현했다.
Popular Product(창현)
- 인기상품을 구별하기 위한 기능
user테이블과 product 테이블 사이에 중간 테이블을 만들어서
user가 product를 조회(클릭)했을 때 테이블에 user_id와 product_id를 저장하도록 구현했다.
get_or_create를 사용해 user의 중복클릭을 방지 했다.
기억에 남는 코드 & 어려웠던 점
소개하고 싶은 코드가 너무 많지만 가장 기억에 남는 두가지 코드를 소개해 볼까한다.
productlist API
원래 productlistview/typeview/productsearchview/productorderingview 와 같이 4가지 뷰로 위 사진의 기능이 나눠져 있었는데 멘토님이 비슷한 결과를 리턴하는것 같다고 하셔서 뷰를 하나로 합치게 되었다. 기능들이 합쳐지면서 if문을 통한 분기점이 생기긴 했지만 개인적으로 만족스런 로직이였다.
popularproduct API
르 라보 홈페이지에서는 인기 상품이 노출되어있는데, 어떤식으로 인기 상품을 구현할까 고민하다가 생각하게된 코드이다. 유저가 상품을 클릭하면 유저 id와 상품 id가 데이터베이스에 쌓이고 중복 클릭을 막기위해 get_or_create를 사용하였다.
좋았던 점
'첫 번째 팀 프로젝트' 라는게 나에게 가장 좋았던 점이였다.
혼자 알고리즘 문제를 푸는것도 재미있지만 팀 프로젝트를 경험해보니
나에게는 사람들과 함께 개발하는 환경이 더 즐겁다는걸 느꼈다.
물론 우리 팀원들이 좋은 사람이였던것도 있지만 목적지를 항해 함께 달려가는
동료가 있어서 프로젝트를 별탈없이 마무리할 수 있었던 것 같다.
또한 피어리뷰또한 색다른 즐거움이였다.
다른사람의 코드를 보는것이 익숙하진 않았지만 코드를 살펴보는 것만으로도
배우는게 많다는 것을 느꼈다.
아쉬운 점
돌이켜보면 좋았던 점보다 아쉬운 점이 많았다.
주라보 프로젝트는 PM이 없이 진행됐다. PM이 필요하다는것도 거의 마지막에 알게되었다. 첫 프로젝트이다보니 서로 기능 개발하기 바빠서도 이유 중 하나일것이다.
나도 팀에게 도움이되고 싶어서 열심히 기능개발에만 몰두했었다.
하지만 좋은기능을 빨리 만든다고 팀에게 큰 도움이 되는것만은 아니다.
백엔드가 api를 미리 만들어두어도 함께 일하는 프론트가 준비되지 않았다면 의미가 없는것처럼 말이다.
마무리
정말 좋은 기억으로 남는 1차 프로젝트였다. 추가 기능 구현도 성공적으로 해내서 정말 만족스럽다고 생각한다. 하지만 좋은 기억보단 아쉬웠던 점들을 상기하며 2차 프로젝트를 준비하려한다.
Author And Source
이 문제에 관하여(JU-LABO Project 회고), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@choich_0807/1st-Project-JU-LABO-회고작성중저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)