[TIL] 19주차 월요일. 파이널 프로젝트 회고 - 1

Minji Kim·2024년 8월 19일

내배캠TIL

목록 보기
73/73

보고서에 들어갈 내용 작성

🌈 맡은 기능

1) 실시간 채팅 기능
2) 실시간 알림 기능 일부
3) home 페이지, 헤더, 탭메뉴, 기능 일부

🌈 사용한 라이브러리와 이유

  • zustand 사용해 count 전역 상태 관리 : 코드가 복잡하지 않으며 사용이 편리하고 유지보수에 용이

🌈 기술적으로 강조할 부분

  • supabase realtime 활용한 실시간 인터렉션
  • supabase SQL editor로 안 읽은 메시지 숫자를 반환해주는 함수를 작성해 사용
  • useTapScroll 등 재사용이 가능한 코드는 hooks, utils 파일 만들어 재사용

🌈 기술적 의사 결정 과정/사유

  • 안 읽은 메시지 개수 세는 SQL 작성: 대량 데이터 처리가 필요한데 DB에서 계산해주면 효율적이라고 생각했습니다. DB 변경은 없는데 실시간으로 소통할 수 있고 클라이언트 사이드에서 코드로 가져오는 것보다 간결하고 처리가 빠를 것이라고 판단했습니다.

🌈 트러블 슈팅과 해결 과정

  • 채팅 목록(chat)과 채팅방(chat/[id] 페이지 데스크탑 구현. 모바일에서는 따로 분리되었던 두 페이지의 UI가 데스크탑에선 같이 보여져야 했던 문제.
    채팅 목록에서 채팅을 누르면 목록은 그대로 남아있고 옆에 채팅방이 뜨도록 만들어야 했습니다. 이 부분이 막막해서 며칠을 인스타그램 등의 다른 유사 서비스를 살펴보며, 구글링도 해보며 고민하고 우선은 다른 기능부터 작업하다가, 문득 정말 간단한 방법이 있다는 걸 떠올릴 수 있었습니다. chat 폴더의 layout.tsx에 컴포넌트를 넣는 방법입니다. layout.tsx에 채팅 리스트 컴포넌트를 넣고, 1280px 이상일 경우에만 보이도록 설정해주어서 간단히 해결할 수 있었습니다.
    처음 해본다고 어렵게 생각하거나 두려워하지 말고, 기초부터 생각해보면 쉽게 답이 나올 수도 있다는 것을 배웠습니다.

🌈 개선 과제

  • 맡은 파트 전체적으로 리팩토링

🌈 팀에 대한 평가

  • 10점 만점 중 9점
  • 모두 맡으신 파트 잘 해주셨습니다. 특히 리더님과 부리더님이 맡은 파트 외의 개발적인 부분도, 개발 외적인 일들도 열정을 다해주시고 이끌어주신 덕분에 완성도 높은 프로젝트를 만들 수 있었습니다. 또한 디자이너님과 함께하는 첫 협업이라는 점에서도 어려움이 있을 수 있었지만, 서로 소통이 원만하게 이루어졌다고 느꼈습니다.

🌈 스스로에 대한 평가

  • 10점 만점 중 5점
  • 채팅 구현은 예전부터 해보고 싶었던 기능이었는데 좋은 경험이 되었습니다. 실시간 기능 구현, 깃허브 활용, zustand 사용, SQL작성 등 처음 해보는 게 많았는데 도전해보길 잘 했다고 느끼고 있습니다. 하지만 처음 팀에서 지키자고 했던 컨벤션을 못 지키고 정돈되지 않은 코드를 작성하게 되었고, 맡은 파트 구현 자체도 100% 하지는 못 하고 팀원 분들의 도움을 받아 완성시킬 수 있었어서, 프로젝트는 잘 마무리 되었지만 개인적으로 아쉬움이 남습니다.

🌈 부트캠프를 마치며 하고 싶은 말

  • 파이널 프로젝트에서 좋은 팀을 만나 많이 배우고 캠프를 잘 마무리 할 수 있었습니다! 고생 많으셨습니다.

0개의 댓글