심화프로젝트 회고
또 다시 프로젝트가 시작되었다. 이번 프로젝트는 주제와 기술 스택에 제한이 없었다. 팀원들끼리 상의하여 원하는 주제와, 원하는 기술을 써서 만들면 됐다.
다만 다음 기술들을 활용하면 좋다고 하셨다.
- 상
- 좋아요 또는 북마크 기능에 리액트쿼리 Optimistic Update 적용
- 무한스크롤 기능에 리액트쿼리 useInfiniteQuery 적용
- form 유효성검사에 react-hook-form 라이브러리 적용
- Yarn Berry 적용하여 깃헙관리
- Supabase 적용
- 중
- redux 외의 다른 전역상태관리 라이브러리 적용
- debounce 또는 throttle(Lodash) 함수를 사용하여 API 요청이나 이벤트 핸들링 성능 개선하기
- json-server-auth 적용
- 하
- redux-toolkit 적용
- react-query 로 서버 상태 관리하기
- 외부 API 적용
우리는 위의 조건에서 파란색으로 칠해진 항목들을 이용해 구현하였다.
프로젝트 소개
이번 프로젝트에 대해서 간략히 소개하면 다음과 같다. 팀원들 모두가 키보드에 관심이 있었고, 그 중 몇명은 최근에 키보드를 구매한 경험까지 있어 키보드에 대한 프로젝트를 진행하기로 하였다.
- 프로젝트명 : 🐤 Keyboduck
- 개요 : 키보드의 모든 것을 한눈에! 키보드 리뷰 및 평가 사이트
- 설명 : 이 프로젝트는 다양한 브랜드의 키보드 정보, 리뷰, 평가, 등을 제공하는 사이트입니다. 사용자는 키보드의 종류, 가격, 특징, 디자인, 타건감 등을 한눈에 비교하고, 리뷰를 통해 실제 사용자들의 평가를 확인할 수 있습니다. 또한, 키보드 소리를 들을 수 있는 영상을 제공하여, 키보드의 타건감을 미리 경험할 수 있습니다.
- 개발기간 : 2023년 12월 26일 ~ 2024년 1월 2일
더 자세한 내용은 GitHub에서...
회고
이번 프로젝트는 모두 처음인게 많았다.
- NextJS라는 프레임워크를 이용한 팀프로젝트
- Typescript를 이용한 팀프로젝트
- Supabase를 이용한 팀프로젝트
따라서 모두가 처음에는 힘들어 했지만, 결국 모두 구현하기로 한 기능과 화면을 만들어 냈다!
KPT
Keep
- 작업 전에 작업에 대한 이슈 작성
- 프로젝트 전에 코드컨벤션 작성
- 계획한 부분을 어느정도 다 완성한 점과 새로운 기술을 사용해 볼 수 있었던 점
- 기능 구현을 했을 때 무슨 버그가 나는지 알려주는 것
- 설계를 초반에 탄탄히 했기에 개발에 속도를 낼 수 있었음
- 적극적인 의사소통
- 어려운 부분을 공유할 때 적극적으로 해결해주려고 노력하고, 배우려고 노력했던 점
Problem
- 깃허브 컨벤션을 지키기 어려움
- 관점의 분리가 명확하게 안되는 부분이 있음
- 중복되는 CSS 코드가 많음
- 코드를 분리하지 못하고 한 파일 안에 너무 많은 코드를 작성하였지만 정리하지 못한 점
- 전체적으로 CSS를 통일하지 못하여 완성도가 아쉬웠던 점
Try
- 깃허브 컨벤션을 프로젝트 시작 전에 팀원들과 다 작성하고 프로젝트 시작
- 이슈 템플릿 사용, 커밋 메시지 명확하고 세분화해서 지정
- 하나의 코드에는 하나의 기능만 작성하기
- 코드 컨벤션 신경써서 코드 작성
- PR시에 서로의 코드에 대해 리뷰글을 남겨주는 것 실행해보기
Typescript를 이용하여 첫 팀프로젝트를 해보았는데, 혼자 프로젝트를 할때와는 달리 확실히 다른 사람과 협업을 할 때 더 편리해졌다.
또한 Supabase를 경험하면서 이제 Firebase는 안쓸것 같다는 생각이 든다... 훨씬 편리하고 기능도 많아 백엔드가 없이 개발할 때는 자주 사용하게 될 것 같다!!
NextJS를 이용한 협업도 처음이었는데, 실제로 서비스를 할 생각이없고, SEO를 신경쓰지 않다보니 아직 NextJS를 사용하면서 이렇다 할 엄청난 장점을 느끼진 못했다.
다음 프로젝트에서는 지금의 경험을 바탕으로 더 나은 프로젝트를 진행해봐야겠다!
커피줘 님 너무 고생하셨습니다!!👍🏻👍🏻👍🏻👍🏻👍🏻 따봉 5개 드려요~(5점만점임)