메인 프로젝트? 메인 서브 프로젝트도 있는건가? ㅇㅇ 프리 프로젝트라고 메인 프로젝트하기 전 몸풀기, 연습게임 프로젝트가 있었다. 회고 글도 있다!
이번 메인 프로젝트는 한 달간 프론트 3명, 백엔드 3명이서 협업하여 프로젝트를 만들었다.
첫 기획 전부터 쇼핑몰을 해보고 싶다는 생각이 있었다. 쇼핑몰에는 CRUD는 물론 실제 서비스에 대해서 고민해볼 수 있고 다양한 페이지를 구현해볼 수 있고 그로인해 다양한 고민을 해볼 수 있다고 생각했다. 하지만 다양한 페이지를 구현해볼 수 있다는 것이 마냥 좋았던 것은 아니었다. 아쉬웠던 점에서 추가로 작성하겠다.
아쉬웠던 점 중 하나는 한달 동안 할 수 있는 양의 서비스 크기인지를 알지 못해 기획단계에서 이것저것 기획했던 것이 화근이었습니다. 일정이 점점 뒤로 밀렸고 기획했던 반응형 웹, 컬리나리만의 식단 추천 기능을 포기하게 되었다.
리액트 슬릭(React-Slick)이라는 라이브러리를 이용하여 캐러셀 기능을 구현했다.
라이브러리의 도움없이 충분히 구현가능했으나(scrollIntoView 메서드) 좀 더 완성도 높은 기능을 구현해보고자 리액트 스크롤(React-Scroll)이라는 라이브러리를 사용해 구현했다.
쇼핑몰이다보니 생각나는 아이디어가 굉장히 많았고 다양한 페이지를 구상하게 되었는데 주어진 시간을 간과하고 있었다. 필요한 페이지를 구상하고 만드는데에만 2주 반이나 시간이 지났고 시그니처 기능이라고 생각했던 식단 추천 기능은 포기해야했다.
이 점은 모든 팀원이 팀 프로젝트에 대한 경험이 없었고 필요한 시간이 얼마나 되는지를 가늠하기 어려워서였다고 생각된다. 이번 경험을 토대로 다음 프로젝트엔 기획 단계에서 기능별 중요도와 주어진 시간을 잘 고려해야겠다.
팀원들간의 커뮤니케이션이 부족했다고 생각한다. 특히 백엔드 팀원들과의 자주 소통하여 필요한 정보, api가 어떤 것인지 바로바로 피드백을 하지 않았고 그로인해 일정이 많이 밀렸다. 궁금한 점이 있다면 거침없이 질문해야겠다.
스쿼시 머지는 브랜치를 합칠 때 머지 커밋만 남기고 브랜치에서 작업한 커밋들을 전부 날린다. 한 브랜치에서 어떤 기능을 구현했는지 깔끔하게 커밋 메세지를 볼 수 있는 장점이 있으나 이전의 커밋들을 전부 지우다보니 세세한 커밋을 확인할 수 없는 단점이 있다.
그러다 보니 머지한 이후, 오류를 찾을 때 언제 어느 커밋에서 잘못된 코드를 작성했는지 찾을 수 없었다.
가장 피부로 느꼈던 부분은 커밋잔디가 없다... 각 브랜치에서 작업한 커밋이 전부 하나의 커밋이 되어 버려 커밋 기록이 사라진다.😭
4주차엔 생각했던 페이지, 기능들이 예상보다 많이 밀려있어 오전 9시부터 새벽 3시까지 계속된 코딩이 이어졌다. 결국 마지막즈음에 손목이 점점 아파오더니 잠들기 전엔 수면에 방해될 정도로 고통이 있을 정도였다. 최대한 계획적으로 무리하지 않게 코딩을 해야겠다.
컴포넌트엔 작은 버튼, 인풋이 있고 이들이 모여 좀 더 큰 컴포넌트 그것들이 모여 페이지의 컴포넌트들을 이루고 페이지를 이루는데 어떠한 기준으로 그것들을 나누고 나눈 파일들을 어디에 위치시켜야할지 고민이 된다.