할 일 관리 프로젝트
GitHub 프로젝트 기능을 모티브로 제작
프로젝트
KPT
Keep
- 하루 2번 스크럼 회의를 통해 현재 진행 상황과 해야 할 일을 말함으로써 따로 회의를 진행할 필요가 없어 일의 진행 속도가 빨랐다. 또한 자주 이야기 하다 보니 서로 간에 신뢰감이 형성되어 팀의 결속력이 단단해졌다.
- 컴포넌트 단위로 작업을 분배하여 코드의 재사용성과 효율성을 높였고 그에 따라 PR merge시 충돌의 위험성이 줄었다.
- Github Project를 사용하여 팀원의 진행도를 알 수 있었고 추후 본인이 무엇을 했는지 추적할 수 있어 개발에만 집중할 수 있었다.
- Dribbble에서 구매한 시안을 통해 디자인을 참고하였고 그에 따라 디자인 작업이 빠르게 끝났다.
- 코어타임을 정해 디스코드에 팀원들이 모두 다 대기하고 있는 상황이 조성되어 문제 발생 시 해당 담당자가 빠르게 모여 해결하므로 문제해결이 빠르게 완료되었다.
- 노션에서 API명세서를 미리 작성하여 백엔드와 프론트엔드의 개발속도를 맞출 수 있었다.
Problem
- 트러블 슈팅에 관한 기록을 매일 하지 않다 보니 추후 회고를 진행할 때 GitHub Project의 진행 상황 기록을 보면서 작성하여 불편했다.
- next.js에서 캘린더를 구현하기 위해 toast-ui react-calendar 라이브러리를 사용하였는데 next.js 환경에 적용이 되지 않았다.
- FullCalendar 라이브러리에서는 SSR을 지원하지 않아 window is not defined 오류가 발생했다.
- 무한스크롤을 구현할 때 뒤로가기에 대한 예외 상황을 생각하지 않아 사용자가 스크롤이 끝나고 뒤로 갔다가 다시 원래 페이지로 돌아올 때 스크롤이 된 상태가 유지되는 현상이 발생했다.
- 무한스크롤이 끝나도 API 요청을 보내는 현상이 발생했다.
Try
- 노션이나 블로그에 나의 트러블을 매일 작성하는 습관을 지녀야겠다고 다짐했다.
- toast-ui react-calendar는 next.js 환경에서 지원하지 않아 대체 라이브러리로 FullCalendar를 선택했다.
- next/dynamic의 옵션 ssr에 false를 입력하여 SSR 없이 컴포넌트를 동적으로 불러오게 해결하였다.
- Zustand에서 전역 상태 관리를 통해 페이지 렌더링 시 상태 값 초기화와 react-query 옵션 중 하나인 cacheTime을 0으로 설정하여 캐시가 저장되지 않게 하였다.
- getNextPageParam에서 전체 페이지와 현재 페이지를 비교하여 같다면 undefined를 반환, 스크롤을 요청하는 페이지에서 조건문을 통해 fetchNextPage가 실행되지 않게 하였다.
느낀점 및 마무리
처음으로 백엔드와 같이 협업하는 프로젝트를 진행하면서 참 많은 것을 배웠다.
첫 미팅 시 우리 팀은 소통을 중요시 함에 따라 코어타임을 정해 항상 다 같이 디스코드에 대기했다. 이러한 점은 팀의 결속력을 증진했고 신뢰감이 형성되어 스크럼을 진행할 때 농담을 던지는 사이로 발전했다. 문제 발생 시 각 해당 담당자가 바로 모여 실시간으로 해결하였고 스크럼 회의 때 해당 사항을 전파해 팀원 모두 인지하게 되어 다음에 문제에 대한 언급을 따로 하지 않아 개발에만 집중할 수 있었다.
백엔드와 협업 시 서로 사용하는 언어와 작업방식이 달라 어떻게 작업 속도를 맞춰야 할지가 가장 큰 문제였다. 먼저 다 같이 모여 API 명세서 작업을 하였고 서로 필요한 응답 값과 요청 값을 인지하였다. 프론트엔드는 백엔드에서 API 개발이 되기 전에 Postman에서 Mock 데이터를 만들어 작업하였고 추후 백엔드에서 API 개발이 완료될 시 미리 작성해둔 코드를 그대로 사용하면 되므로 작업 속도를 맞출 수 있었다.
우리 팀은 다양한 기능보단 완성도에 초점을 맞췄고 그에 따라 발표회 때 멘토님들께서 좋은 평가가 이루어져 1등을 하는 결과를 이뤄냈다. 특히 모든 상황에 대한 예외 처리와 완성된 UI, 불화 없는 소통은 멘토님들이 칭찬을 해주셨다.
나는 이번 프로젝트를 통해 불화 없는 소통방식과 빠른 결과물을 도출해내는 방법, 백엔드와의 협업방식을 배웠고 값진 경험이 되어 만족했다. 하지만 마감일에 맞춰 진행하다 보니 코드리뷰를 하지 못하여 이 코드가 좋은 코드인지에 대한 의견을 듣지 못한 점이 아쉬웠다.
파이널 프로젝트에서는 여기서 경험한 장점과 아쉬운 점은 개선하여 적용해봐야겠다.
'프로젝트' 카테고리의 다른 글
TODO LIST 프로젝트 회고 (0) | 2023.07.04 |
---|---|
money-bridge 프로젝트 회고 (0) | 2023.07.02 |
영화 검색 프로젝트 회고 (0) | 2023.05.25 |
Two Circle 쇼핑몰 프로젝트 회고 (0) | 2023.03.20 |