본문으로 건너뛰기

"lint-staged" 태그로 연결된 1개 게시물개의 게시물이 있습니다.

모든 태그 보기

중급 프로젝트 회고

· 약 4분
준열
프론트엔드 개발자

프로젝트 기간 : 2025-09-25 ~ 2025-10-22

🤔 프로젝트를 시작하며

3주가 넘는 기간동안 중급 프로젝트를 진행하였습니다. 이번 파트때도 팀장을 맡게되어 조금 힘들었지만 좋은 팀원들이 있었기에 성공적으로 프로젝트를 마칠 수 있었습니다.
개인적으로 많은 성장을 한 프로젝트이기에 시간이 조금 지났지만 회고글을 작성해보려고 합니다.

✨ 프로젝트 선정 및 소개

부트캠프 기간동안 총 3번의 프로젝트를 진행하게 됩니다. 그 중 2번째 프로젝트에 대한 얘기를 시작해보겠습니다.
저희 팀은 WHYNE 이라는 브랜드 네임을 가진 사용자의 리뷰와 평가를 바탕으로 나만의 와인창고를 만드는 웹사이트 프로젝트를 진행하게 되었습니다.

✨ 프로젝트 선정 이유

프로젝트 주제를 선정하기 위해서 가장 중요한게 생각했던 부분은 팀원들의 의견이 가장 컸습니다.
단순히 CRUD를 구현하는 것이 아닌, 우리만의 특별한 기능을 넣을 수 있을만한 주제를 선정하기 위해 팀원들과 상의하였고, 그 중에서도 깔끔한 디자인을 갖고있던 WHYNE으로 선정하게 되었습니다.

📚 프로젝트 과정

1. R&R 분배

초급 프로젝트에서의 아쉬움을 뒤로하고 중급 프로젝트에서는 많은 기능과 컴포넌트를 만들고 싶어 아래와 같은 R&R 분배를 했습니다.

  • 프로젝트 기초 세팅
  • 랜딩페이지
  • 와인 상세페이지
  • 리뷰 등록/수정 페이지
  • Taste 컴포넌트
  • 리뷰 등록/수정 모달
  • 무한스크롤
  • Toast

총 8가지의 R&R을 분배받아 프로젝트를 진행하였습니다.

2. 프로젝트 계획

프로젝트를 진행하기 전에 아래와 같은 목표를 세웠습니다.
생각보다 3주라는 시간은 매우 짧았기에, 다른팀들보다 먼저 시작하여 추가기능을 도입하고자 하는 목표를 세웠습니다. 그렇기에 1주차는 컴포넌트 개발, 2주차는 페이지 개발, 3주차는 추가기능 및 QA를 목표로 프로젝트를 시작하였습니다.

2-1. 협업 툴 선정

일단 기본적으로 Figma를 사용하여 요구사항에 대한 디자인을 확인하였고, Notion를 사용하여 전체적인 프로젝트 관리를 진행하였습니다. 그리고 github를 사용하여 코드를 관리하였습니다.

또한 실시간 소통 및 코드리뷰를 위해 Discord 사용하고 이슈 및 애로사항 공유를 위해 Zep이라는 플랫폼을 활용하여 코어타임과 팀회의를 매일 성실하게 참여하였습니다.

팀장의 역할을 성실하게 수행하기위해 Discord WebHookZep WorkSpace를 직접 설정하고 제작하여 팀원들의 편의성을 높혔습니다.

2-2. 협업 전략

GitHub Organization을 사용하여 팀 레포지토리를 생성한 후, fork 방식이 아닌 팀 레포지토리에 직접 Push하는 방식을 사용하였습니다.

총 3개의 브랜치를 활용하여 깃 전략을 세웠고, main develop 개별 브랜치로 통일하여 기능별 혹은 디자인별로 브랜치를 생성하여 develop 브랜치로 PushPR을 진행한 후 main 브랜치로 Merge를 진행하였습니다.

2-3. 팀장의 역할

팀장의 역할 중 개인적으로 가장 중요하게 생각했던 부분은 팀의 화합이였습니다.

누구하나 뒤쳐지지않고 프로젝트에 잘 참여할수 있도록 팀미팅 분위기 및 수시로 소통을 하며 팀원들과 친해졌고, 어느 팀보다 좋은 분위기속에서 프로젝트를 마무리 할 수 있었습니다.


- 일단 팀장 역할 수행하시느라 고생많으셨습니다.
프로젝트 세팅부터 책임지고 꼼꼼하게 진행해주시는 모습을 보고 믿음이 간 것 같습니다.
또한 같이 프로젝트 진행하면서 여러가지 새로운 시도들을 많이 해본 것 같습니다.
팀 회의 때 마다 분위기도 밝게 이어나가주셔서 감사합니다.

- 항상 밝은 분위기와 긍정적인 에너지로 팀을 이끌어 주셔서 팀 전체가 좋은 분위기에서 프로젝트를 진행할 수 있었습니다.
팀장 역할로 바쁜 와중에도 팀원 개개인과 프로젝트 일정을 꼼꼼히 챙겨주시고, 전체적인 진행 상황을 균형감 있게 관리해 주신 점이 감사하고,
개인 역할도 성실히 수행하시면서 코드 리뷰도 꾸준히 세심하게 남겨주셔서 많이 배울 수 있었고 성장하는 데 큰 도움이 되었습니다!

- 팀장 역할을 잘 해주셔서, 소통 과정에서 많은 도움을 받을 수 있었습니다. 감사합니다.

파트를 마무리하고 위와 같은 피어리뷰를 받으면서 나의 행동들이 결코 틀리지 않았다는걸 깨닫게 되면서 앞으로도 소프트스킬을 더욱 키워나가야겠다고 생각하게 되었습니다.

2-4. 그라운드 룰

프로젝트를 본격적으로 진행하기에 앞서 팀 그라운드룰을 정해 항상 리마인드하여 팀원분들이 까먹지 않도록 진행하였습니다.

첫 번째로, 데일리 팀 스크럼은 PM 13:30에 진행되며, Zep을 활용하여 작업 및 애로사항들을 공유하였습니다.

두 번째로, 코어타임을 짧은 시간이 아닌 매일 AM 09:00 ~ PM 18:00으로 정하여 언제든 팀원들끼리 소통할 수 있도록 했습니다.

마지막으로, Notion을 이용하여 팀원들의 진행사항 및 QA를 작성하여 문서화하는 습관을 들였습니다.

🛠️ 기술스택 선정

저희 팀은 Next.js 15버전을 사용하여 App router을 기본 라우팅 방식으로 선정하였고, 팀원 모두 Tailwind 경험이 있어 스타일링 방식은 손쉽게 결정하였습니다.

또한 다른팀보다 시간적 여유가 있었기에 컨벤션을 지키기 위한 husky+lint-staged를 사용하여 컨벤션을 지키고 깨끗한 코드를 유지하였습니다.

그리고 공통컴포넌트 문서화를 위해 Storybook을 사용하여 공통 컴포넌트를 문서화하였습니다.

Axios + Tanstack Query를 사용하여 API를 호출하고, Vercel을 사용하여 배포하였습니다.

🐝 프로젝트 진행 과정

4. 첫 위기

프로젝트를 진행하면서, 팀원 한 분이 취업으로 인해 중도하차를 하게되어 미리 짜여져있던 개발 계획이 어그러져 시간적 낭비를 하게되었습니다.

하지만 팀원 모두 개인시간까지 투자하여 중도하차 팀원의 작업까지 서로 알맞게 분배하여 큰 트러블 없이 진행할 수 있었습니다.

이 과정에서 느꼈던 점은 계획은 계획일뿐 항상 원하는대로 이루어지지 않는다는 것을 알았고 다음에는 더 체계적으로 계획을 세워 팀원들의 혼란을 줄여야겠다고 생각하게 되었습니다.

5. 빌드 간소화

실시간 코드리뷰를 진행하면서 PRMerge를 할 때마다 Storybook 배포로 인한 파이프라인 낭비가 발생하여 개발 속도가 늦어지는 경우가 빈번했습니다.

그렇기에 이 문제점을 해결하기 위해 팀원들과 회의를 하였고 팀장인 제가 Storybook을 조건부적으로 배포할 수 있는 방법을 찾게 되었습니다.

방법을 찾아 내용을 팀원들과 공유하였고 시간이 오래 걸리지않겠냐는 팀원들의 우려속에서도 포기하지않고 책임감있게 진행하여 빠른시간내에 해결하였습니다.

이렇게 팀원들과 함께 노력하여 빌드 간소화를 성공적으로 수행하여 프로젝트가 끝날때까지 개발 속도를 높일 수 있었습니다.

⭐️ 프로젝트 결과

🌱 KPT 회고

🤔 다음 프로젝트에서 개선해야할 나의 모습