마이허니트립(myhoneytrip)
마이허니트립 - myhoneytrip
2nd-myhoneytrip.s3-website.ap-northeast-2.amazonaws.com
1. 프로젝트 개요
마이허니트립은 마이리얼트립을 모티브로 허니문 항공권 예약과 관련된 사용자의 소셜 로그인(kakao)과 검색결과 기반 상세페이지, 항공권 예약, 마이페이지까지 이어지는 커머스 사이트의 기본적인 Flow 기능을 구현한 사이트입니다.
짧은 기간 진행하는 프로젝트이기 때문에 허니문 여행전문이라는 컨셉으로 기획을 잡고 허니문 여행지 4곳의 항공권을 예약하는 사이트를 구현했다.
배포 주소
마이허니트립 (클릭!)(요금부과때문에 삭제)
개발 기간
2022.08.01 ~ 2022.08.12 (12일)
개발 인원
(링크클릭: 깃허브 레포지토리 연결)
사용 기술
FE | Javascript, React, React-Router, styled-components
library : slick slide, react date picker, mui modal, mul table
BE | Python, Django, MySQL, MINICONDA3, Postman, Docker
공통 | Git&Github, AWS
협업 도구
Notion, Slack, Trello, Github
구현 기능(내역할)
- DB모델링
- 카카오 소셜 로그인 기능을 이용한 로그인&회원가입
- 사용자 검색 결과 기반 비행스케줄 리스트 API구현
- 검색 결과에 따른 필터기능 및 페이지네이션 구현
- 탑승객 별 비행기 예약 시스템 API구현
- 내가 예약한 비행편 조회 및 취소 API구현
- 예약 상세 정보 조회 API구현
- Docker 이용 AWS EC2서버에 배포
시연영상
2. 개인회고
좋았던점
역할을 스스로 선택한것! 역할분담때 원래 돌림판으로 결정을 하려고 했었다. 리스트 페이지는 1차프로젝트에 해봤지만 Q객체를 이용한 다양한 필터기능을 써보지 못해서 이번에 또 하는것도 괜찮을 것 같았고, 예약기능도 안해본거라서 한번 해보고 싶은 마음도 있었는데 소셜로그인 구현에 1주일이 걸린다는 말을 듣고 도전정신이 생겨서 내가 맡겠다고 했다. 간단하게 우리 서버의 토큰만 발급하면 바로 카카오와 유저의 연결을 끊는 쪽으로 구현을 해서 시간이 오래 걸리지는 않았지만 소셜 로그인이 어떻게 흘러가는지 알 수 있어서 유익했다. 프론트엔드에서 요청을 받기만 하다가 처음으로 다른 서버에 요청을 보내본것도 재미있었고 실제 카카오에서 사용하는 정보들이 응답으로 와서 회원가입이 되는걸 확인하는게 재미있었다.
팀원과 협업. 소셜로그인이 간단하게 끝나고 예약리스트 페이지를 같이 하게 됐는데 몰입해서 같이 로직을 짰던 과정이 재미있었다. 오히려 내가 원래 맡았던 기능보다 많은 시간을 할애한것같은데 거기서 배운것도 많아서 좋았다.
새로 배운것들. 2차 프로젝트때 처음으로 테스트코드를 작성해봤는데 내가 짠 코드를 통신 없이 코드로 테스트 해볼수 있다는 것이 새롭고 좋았다. git rebase와 도커도 2차때 새로 배워서 적용한 부분인데 새로운 개념을 배워서 적용하는 과정이 좋았다.
아쉬운점
바빠서 기능구현 이외의 것들에 소홀했다. 1차 프로젝트가 끝난 후 2차 프로젝트때도 협업툴을 잘 활용하겠다고 다짐했는데 1차때 비해서 활용을 잘 하지 못해서 아쉽다.
기획의 부족함. 시간 관계상 깊이 생각할 여유가 없기도 했지만 모델링을 완성하기 전에 어떤 데이터가 어떻게 가야하는지 좀더 꼼꼼하게 살폈어야 했다. 연결된 테이블에 있으니까 타고타고 들어가면 되니까 여긴 없어도 돼~했던게 나중에 발목을 잡았다ㅜ 코드랑 씨름하면서 모델링을 수정할지 말지 고민하는 과정에서도 시간이 많이 소요됐다. 계속 로직이 변경되는 바람에 프론트와 키값 맞추는것도 마지막날 몰아서 했다. 기획의 중요성을 느꼈다.
뭔가 부족한 기능..카카오 로그인 기능에서 카카오 닉네임이 바뀌면 마이허니트립 사이트의 닉네임도 바뀌도록 코드를 수정해야 하는데 시간이 없어서 고치지 못했다. 그래도 동기들 코드를 보면서 이해하고 넘어간 것으로 일단 만족해야겠다. 로그인도 지금처럼 토큰만 주고 끝내는게 아니고 진짜 제대로 토큰 유효기간도 주고 갱신도 시키고 등등이 있을텐데 언젠간 해보고싶다
마무리
어떻게 지나갔는지 모를 2주였고 두번째주까지도 1차때에 비하면 진전이 안돼서 통신도 많이 못해보고 이렇게 해서 되는게 맞나 싶었지만 결과물도 잘 나왔고 재미있었다.
기획이 부족해서 고민했던것도 프로젝트 진행에서는 방해요소이긴 했지만 사실 덕분에 배운게 많아서 나한텐 성장요소였고 기획이 완벽하지 않았어서 오히려 좋다!
프론트엔드에서 검색했던 정보를 가지고 있다가 최근 검색한 항공권으로 띄우는 기능을 했는데 너무 신기하다! 그리고 8월 데이터만 넣었는데 이제보니까 프론트쪽에서 다른 달을 검색해도 8월 일자로 검색되도록 처리해주신것같다. 오늘 날짜 이후로만 검색이 가능해서 점점 검색 가능한 데이터가 없어져서 슬펐는데 다행이다! 처음에 데이터 넣는것때문에 막막했는데 데이터 2000개 넣어준 인형(doll).......님께도 감사하고 시작부터 필터로 검색해서 보여줘야하는 항공권 검색 구현하신 유정님도 너무 멋지다. 이번에도 좋은 팀을 만나서 프로젝트 기간을 정신없지만 즐겁게 보냈다. 남은 기간 기업협업도 모두 홧팅
'wecode' 카테고리의 다른 글
| 구방문방구 | 리팩토링: 상품리스트 모듈화 (0) | 2022.10.01 |
|---|---|
| Code Kata | Week3 - Day2 (0) | 2022.09.14 |
| 마이허니트립 | 예약목록 api : annotate를 이용한 정렬 (0) | 2022.08.22 |
| 마이허니트립 | 예약 api transaction.atomic() 적용 (0) | 2022.08.17 |
| 마이허니트립 | 예약페이지 승객정보 bulk_create (0) | 2022.08.14 |