MY-JEJU-STAY PROJECT 회고

최창현·2022년 3월 7일
0

서론

프로젝트가 끝난 후 바로 회고를 작성하려했지만
심각한 체력고갈로 휴식을 취한 후 바로 기업협업이 시작되어서
회고작성이 늦어졌다. 그래도 나에게는 어떻게 보면 JU-LABO 프로젝트보다
의미있는 프로젝트였기 때문에 틈틈히 회고를 써보려한다.


OVERVIEW

  • 클론 사이트

마이리얼트립 https://www.myrealtrip.com/?utm_source=google&utm_medium=search_pc&utm_campaign=44443142579&utm_term=%EB%A7%88%EC%9D%B4%EB%A6%AC%EC%96%BC%ED%8A%B8%EB%A6%BD&gclid=CjwKCAiAjoeRBhAJEiwAYY3nDLcfCANyxmilDiwyi18ydINRHY-_uqMJOoH78YqbbZjp95K1tNIomxoC-TIQAvD_BwE

  • 사이트 소개
  • 마이리얼트립은 여행을 떠나기 위해 필요한 모든 것을 한 곳에서 검색하고 예약할 수 있는 국내 최고의 Travel Super App 이다.
  • 여행 준비, 항공, 숙박, 현지 교통, 현지 경험 (투어, 티켓, 특가 여행, 패키지) 등 모든 여행 경험을 연결하여 새로운 여행 방식을 만들어간다.
  • 프로젝트 기간

2022/02/14 ~ 2022/02/25


INTRODUCE TEAM(팀 소개)

  • 팀명

MY-JEJU-STAY (마이제주스테이)

  • 팀원들
  • Frontend - 정수진, 석정도, 임채현, 김지윤
  • Backend - 최창현, 모휘정

MY-JEJU-STAY GOALS(목표)

  • 단순히 숙소 예약 서비스를 제공하는 사이트는 많기 때문에
    회의를 통해 “제주한달살기”라는 기획 아이디어를 내었다.

핵심 서비스

  • 제주 한달살기에 적합한 숙소(&체험) 예약 및 결제를 도와주는 서비스를 제공한다.

제공하는 메인 서비스

  • 로그인, 회원가입 (소셜 로그인)

  • 메인 페이지

  • 숙소 리스트&지도

  • 숙소 디테일

  • 숙소 예약

  • 숙소 예약정보 확인

필수 구현 사항(구현 완료)

  1. 회원가입&로그인
  2. 소셜로그인
  3. 숙소 리스트&지도 페이지
  4. 숙소 리스트&지도 페이지 필터링 적용
  5. 숙소 상세 페이지
  6. 예약 기능
  7. UNITTEST

추가 구현 사항(구현 완료)

  1. 마이 페이지
  2. 예약 정보 확인
  3. AWS S3 버킷을 활용한 이미지&영상 업로드
  4. AWS&DOCKER 배포

USED STACK(사용된 기술)

Backend

  • Python , Django , MySQL , CORS Header, Bcrypt, pyJWT

Frontend

  • HTML/CSS, JavaScript(ES6+), React, SASS

Communication Tool

  • Trello, Slack, Git, Github

Arcitecture

  • Docker, AWS EC2, AWS RDS, AWS S3, Postman, dbdiagram.io, httppi

INTRODUCE MY-JEJU-STAY

Database Modeling

초기 세팅

  1. 가상환경, DATABASE 생성
  2. git repository clone
  3. django install
  4. django cors-headers install
  5. mysqlclient install
  6. git branch 생성
  7. django project 생성
  8. settings.py 생성
  9. requirement.txt 생성
  10. gitignore 생성
  11. runserver 동작 확인

내가 작성한 API 목록

  • users/LoginView

  • users/KakaoLoginView

  • users/SignUpView

  • users/ReservationInfoView

KakaoLogin

  • 인기 상품과 카테고리 메뉴 반환

Search & Filter(창현)

  • 상품 검색 기능 ( 키워드가 포함된 상품)
    icontains를 사용하여 키워드와 상품의 이름을 비교하여 검색 기능을 구현했다.

  • Type(ml)을 통한 상품 리스트 필터
    상품 리스트 페이지에서 ml별로 상품을 필터할 수 있도록 기능을 구현했다.

Popular Product(창현)

  • 인기상품을 구별하기 위한 기능
    user테이블과 product 테이블 사이에 중간 테이블을 만들어서
    user가 product를 조회(클릭)했을 때 테이블에 user_id와 product_id를 저장하도록 구현했다.
    get_or_create를 사용해 user의 중복클릭을 방지 했다.

좋았던 점

'첫 번째 팀 프로젝트' 라는게 나에게 가장 좋았던 점이였다.
혼자 알고리즘 문제를 푸는것도 재미있지만 팀 프로젝트를 경험해보니
나에게는 사람들과 함께 개발하는 환경이 더 즐겁다는걸 느꼈다.
물론 우리 팀원들이 좋은 사람이였던것도 있지만 목적지를 항해 함께 달려가는
동료가 있어서 프로젝트를 별탈없이 마무리할 수 있었던 것 같다.

또한 피어리뷰또한 색다른 즐거움이였다.
다른사람의 코드를 보는것이 익숙하진 않았지만 코드를 살펴보는 것만으로도
배우는게 많다는 것을 느꼈다.

아쉬운 점

돌이켜보면 좋았던 점보다 아쉬운 점이 많았다.
주라보 프로젝트는 PM이 없이 진행됐다. PM이 필요하다는것도 거의 마지막에 알게되었다. 첫 프로젝트이다보니 서로 기능 개발하기 바빠서도 이유 중 하나일것이다.
나도 팀에게 도움이되고 싶어서 열심히 기능개발에만 몰두했었다.
하지만 좋은기능을 빨리 만든다고 팀에게 큰 도움이 되는것만은 아니다.
백엔드가 api를 미리 만들어두어도 함께 일하는 프론트가 준비되지 않았다면 의미가 없는것처럼 말이다.

마무리

정말 좋은 기억으로 남는 1차 프로젝트였다. 추가 기능 구현도 성공적으로 해내서 정말 만족스럽다고 생각한다. 하지만 좋은 기억보단 아쉬웠던 점들을 상기하며 2차 프로젝트를 준비하려한다.

profile
chch_oi

0개의 댓글