[Project 02] JUSTWEAIR Sprint 1 회고

Youngseo Lee·2023년 1월 23일
1

두번째 프로젝트로 항공사 페이지를 모티브로한 항공권 예약 웹사이트를 제작했다. 이번 글에서는 전체 프로젝트 개요Sprint1의 기록을 남겨본다.

🎯 목차


✈️ JUSTWEAIR, 당신의 여행의 첫 시작을 우리(WE)와 함께..

1. 팀 프로젝트 기간

2022.11.28 (월) ~ 2022.12.9(금)

2. 프로젝트 목표

  • 제주항공 사이트를 모티브로한 항공권 예매 사이트 구축
  • 구현 기능
    1. 소셜 로그인 및 회원가입
    2. 항공권 조회 및 예약
    3. 예약 확인
    4. 항공권 결제
    5. 항공권 이메일 발송

3. 팀 구성 및 담당 역할 ✈️

  • FrontEnd

    • 남연우 : 소셜 로그인 및회원가입, spinner 및 토스를 이용한 간편결제
    • 천정환 : 메인 페이지, Nav, Footer
    • 오주형 : 예약 페이지, 예약 정보 기입 페이지 및
      예약 확인 페이지
  • BackEnd

    • 이영서: DB 모델링, 소셜 로그인 및 회원가입API, 주문 내역 저장 및 조회 API, 결제정보 저장 API, 티켓 정보 email 발송 API
    • 지송현 : DB 모델링, DB 생성, 항공권 조회 API, 결제정보 저장 API

4. 기술 스택 ⚒️

5. 팀프로젝트 진행 방식 💬

Sprint Routine을 지키면서 프로젝트를 진행했다.팀원들과 아래와 같은 툴을 사용해 프로젝트의 효율을 높였다.

  • Trello : 티켓을 활용해 업무 분담 및 Sprint 관리
  • Notion : 회의록, 공유파일, 업무 기록 등을 저장해 두는 공간

Team Meeting ⏰

  • Planning Meeting : Sprint 계획 및 목표 수립
  • Daily Standup Meeting : 매일 아침 오전 10시 30분
  • Retrospective Meeting : Sprint 종료 후 회고 미팅

Sprint 1 : 프로젝트 초기 목표 설정

Planning Meeting 1

제주항공 사이트를 살펴보며 항공권 예약 프로세스와 핵심적으로 구현해야하는 내용들을 선별하는 과정을 거쳤다.

  1. 회원가입 및 소셜 로그인
  2. 항공권 예매 (항공편 조회 및 선택)
  3. 탑승객 정보 입력
  4. 항공권 결제
PROJECT1 과 차이점 📌
지난 프로젝트와 비교해서 "기획" 단계에 많은 시간을 투자해 논의했다. 
PPT로 각 페이지의 레이아웃과 어떤 기능이 필요할지 FE-BE가 함께 정했다. 

Sprint1의 목표

  • 기본 기능을 구현하는데 집중하자!!

APIs

Sprint1에서는 Data Modeling, 그리고 소셜 로그인 및 회원가입API 작업을 진행했다.

Data Modeling 👾

기획 단계에서 각 기능 구현에 필요한 데이터를 이미 파악해서 어렵지 않게 ERD를 만들 수 있었다.

또한, 이전 프로젝트와 마찬가지로 프론트에 공유하고 설명 하는 시간을 가졌다. 프로젝트를 진행하면서도 이를 참고하면서 소통했다.

Division of Work ⚒️

이후 백엔드 팀원과 함께 각자 어떤 API를 맡을지 역할 분담을 진행했다. 각자 지난 프로젝트에서 진행하지 않았던 부분을 담당하기로 했고, 이번 프로젝트에서는 CRUD가 포함된 API들을 담당하게 됐다.

PROJECT1 과 차이점 📌
1차 프로젝트에서 역할 분담을 한 참 뒤에 했었다.
2차 프로젝트에서는 기획과 ERD가 FIX된 상황이라 업무를 빠르게 분배 할 수 있었다. 

소셜 로그인 및 회원 정보 업데이트 API 🔑

업무 기록 + 고민의 흔적 (ft. 로그인이 어려운 로직이었냐며..)

1차 프로젝트와 달리 카카오 소셜로그인 기능을 활용하기 위해서는 여러 고민이 필요했다. 카카오에 정보를 요청하는 단계부터 클라이언트에게 accessToken을 전달하는 일련의 과정 마다 로직이 필요했다 😅

카카오 소셜 로그인

  • 카카오 API에 accessToken으로 POST 요청을 하고제공 받은 정보 및 DB 내 회원 정보와 비교
  • 회원 정보가 없는 경우 : 회원 정보 업데이트 진행
  • 회원 정보가 있는 경우 : 로그인 성공 및 JWT Access Toekn 전송하기

로직 구현 이유?

  1. 서비스 사용자의 편의성 증대
  • 카카오 로그인으로 간편하게 서비스를 이용할 수 있도록 유도
  • 회원이 아닌 경우 자동 랜더링을 통해 서비스에 가입할 수 있도록 유도
  1. 회원 정보 UPDATE API 재활용 가능성
📌 FE 담당자와 협의를 통해 진행한 로직

검증 단계 (Unit Test) 진행 완료 ✌️

이번 프로젝트에서는 Unit Test 라는 검증 단계가 추가 됐다. 해당 API를 Unit Test할 때 결과 값을 mocking 해서 진행 했었다.

결과물 🔥


Sprint1 회고

📌 Project 1과 마찬가지로, KPT 방식의 회고를 진행했다.

JUSTWEAIR TEAM 회고

주말 동안 팀원들과 함께 팀 노션에 회고록을 작성했다. 이후, Sprint2 Planning Meeting을 진행하기 전에 같이 이야기하고 우리 공통의 문제를 어떻게 보완할 수 있을까 고민 했다.

Problem ➖
KPT 중에 팀 전체가 인정한 문제가 있었다. 그 문제는 지각!!!
이 문제를 해결하고자 벌금제를 도입 하기로 했다. 오전 10시까지 출근 도장을 찍지 않을 경우, 벌금이 5000원씩 누적된다.

개인 회고 🙆🏻‍♀️

  • Keep
    1. API 명세를 미리 만들어 이를 기반으로 프론트와 소통하고 협의를 이끌었다.
    2. API를 제작하는 과정에서 사용자 입장에서 로직을 생각하고 서비스에 어떤 것이 더 나을지 고민하는 태도로 임했다.
  • Problem
    1. 지각을 자주했다. 이로 인해 정해진 시간에 StandUp Meeting 진행하는데 어려움이 있었다.
    2. 에러 핸들링 부분을 조금 간과 했다. 프론트에서 점검한 내용도 백에서 다시 체크 해야한다!
  • Try
    1. 체력 관리 잘하고 지각하지 않기!
    2. 잘하고 있는 점은 Sprint2에서도 유지하기
profile
백엔드 개발자 영서뤼

0개의 댓글